<SEC-DOCUMENT>0001140361-24-026005.txt : 20240514
<SEC-HEADER>0001140361-24-026005.hdr.sgml : 20240514
<ACCEPTANCE-DATETIME>20240514171004
ACCESSION NUMBER:		0001140361-24-026005
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		50
CONFORMED PERIOD OF REPORT:	20240331
FILED AS OF DATE:		20240514
DATE AS OF CHANGE:		20240514

FILER:

	COMPANY DATA:	
		COMPANY CONFORMED NAME:			TRANSACT TECHNOLOGIES INC
		CENTRAL INDEX KEY:			0001017303
		STANDARD INDUSTRIAL CLASSIFICATION:	COMPUTER PERIPHERAL EQUIPMENT, NEC [3577]
		ORGANIZATION NAME:           	06 Technology
		IRS NUMBER:				061456680
		STATE OF INCORPORATION:			DE
		FISCAL YEAR END:			1231

	FILING VALUES:
		FORM TYPE:		10-Q
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	000-21121
		FILM NUMBER:		24945633

	BUSINESS ADDRESS:	
		STREET 1:		ONE HAMDEN CENTER
		STREET 2:		2319 WHITNEY AVENUE, SUITE 3B
		CITY:			HAMDEN
		STATE:			CT
		ZIP:			06518
		BUSINESS PHONE:		203-859-6800

	MAIL ADDRESS:	
		STREET 1:		ONE HAMDEN CENTER
		STREET 2:		2319 WHITNEY AVENUE, SUITE 3B
		CITY:			HAMDEN
		STATE:			CT
		ZIP:			06518
</SEC-HEADER>
<DOCUMENT>
<TYPE>10-Q
<SEQUENCE>1
<FILENAME>ef20027082_10q.htm
<DESCRIPTION>FORM 10-Q FOR THE PERIOD ENDED MARCH 31, 2024
<TEXT>
<XBRL>
<?xml version='1.0' encoding='ASCII'?>
<html 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:srt="http://fasb.org/srt/2023" xmlns:ix="http://www.xbrl.org/2013/inlineXBRL" xmlns:ixt="http://www.xbrl.org/inlineXBRL/transformation/2020-02-12" xmlns:ixt-sec="http://www.sec.gov/inlineXBRL/transformation/2015-08-31" xmlns:us-gaap="http://fasb.org/us-gaap/2023" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:country="http://xbrl.sec.gov/country/2023" xmlns:currency="http://xbrl.sec.gov/currency/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:naics="http://xbrl.sec.gov/naics/2023" xmlns:sic="http://xbrl.sec.gov/sic/2023" xmlns:stpr="http://xbrl.sec.gov/stpr/2023" xmlns:exch="http://xbrl.sec.gov/exch/2023" xmlns:cef="http://xbrl.sec.gov/cef/2023" xmlns:ecd="http://xbrl.sec.gov/ecd/2023" xmlns:tact="http://transact-tech.com/20240331" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
    <meta http-equiv="Content-Type" content="text/html"/>
</head>

<body style="background-color: #ffffff; color: #000000;">
<div id="DSPFiXBRLHidden" style="display: none;"><ix:header><ix:hidden><ix:nonNumeric name="dei:AmendmentFlag" id="Fact_30c5fe953416460a8c8a12a5de31b38c" contextRef="c20240101to20240331" format="ixt:fixed-false">false</ix:nonNumeric><ix:nonNumeric name="dei:CurrentFiscalYearEndDate" id="Fact_e6adfc8e385e4918a9d0b3c99be2f340" contextRef="c20240101to20240331" format="ixt:date-month-day">12-31</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalYearFocus" id="Fact_c07f25280f224806962212293019fbf9" contextRef="c20240101to20240331">2024</ix:nonNumeric><ix:nonNumeric name="dei:DocumentFiscalPeriodFocus" id="Fact_c7cad5d9032845c3a871e827ad52e9f9" contextRef="c20240101to20240331">Q1</ix:nonNumeric><ix:nonNumeric name="dei:EntityCentralIndexKey" id="Fact_980cd54a0c8e49f6af45e8d41f018c88" contextRef="c20240101to20240331">0001017303</ix:nonNumeric><ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_c5f09af54bef4c99999a6b08fbf79c8f" contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260401Member" unitRef="U002" xsi:nil="true"/><ix:nonNumeric name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Fact_e46cad17a06c427da289ce1d6da56f8a" contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250401Member">P12M</ix:nonNumeric><ix:nonNumeric name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Fact_66b7f79e654845d4a0990d15264f888d" contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260401Member">P12M</ix:nonNumeric><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_4cd21b3197ec4d90bde55adf6dba9e04" contextRef="c20240331" unitRef="U002" xsi:nil="true"/><ix:nonFraction name="us-gaap:CommitmentsAndContingencies" id="Fact_fe44e82a0afe46ecb15e07bc692aaeb9" contextRef="c20231231" unitRef="U002" xsi:nil="true"/></ix:hidden><ix:references><link:schemaRef xlink:href="tact-20240331.xsd" xlink:type="simple"/></ix:references><ix:resources><xbrli:context id="c20240101to20240331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240430"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-04-30</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20221231"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20231231_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>2023-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20221231_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>2022-12-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230331_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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_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>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_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>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_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>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_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>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_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>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2023-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-12-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"><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">tact:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember_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:CasinoAndGamingMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"><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">tact:InternationalMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20230101to20230331_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>2023-01-01</xbrli:startDate><xbrli:endDate>2023-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260401Member"><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 xmlns:us-gaap="http://fasb.org/us-gaap/2023">2026-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240401Member"><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 xmlns:us-gaap="http://fasb.org/us-gaap/2023">2024-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250401Member"><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 xmlns:us-gaap="http://fasb.org/us-gaap/2023">2025-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain></xbrldi:typedMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2020-03-13</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember><xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2024-03-31</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"><xbrli:entity><xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier><xbrli:segment><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:startDate>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:context id="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_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><xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember></xbrli:segment></xbrli:entity><xbrli:period><xbrli:instant>2021-07-21</xbrli:instant></xbrli:period></xbrli:context><xbrli:context id="c20240101to20240331_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>2024-01-01</xbrli:startDate><xbrli:endDate>2024-03-31</xbrli:endDate></xbrli:period></xbrli:context><xbrli:unit id="U001"><xbrli:measure>xbrli:shares</xbrli:measure></xbrli:unit><xbrli:unit id="U002"><xbrli:measure>iso4217:USD</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>xbrli:pure</xbrli:measure></xbrli:unit></ix:resources></ix:header></div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 12pt; font-weight: bold;"><span style="font-size: 14pt; font-family: 'Times New Roman';">
        </span><hr style="border: none; border-bottom: 1px solid black; border-top: 4px solid black; height: 10px; color: #ffffff; background-color: #ffffff; text-align: center; margin-left: auto; margin-right: auto;"/><span style="font-size: 14pt; font-family: 'Times New Roman';">UNITED STATES</span></div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 14pt; font-weight: bold;">SECURITIES AND EXCHANGE COMMISSION</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 12pt; font-weight: bold;">Washington, D.C.&#160; 20549</div>

    <div style="text-align: justify;"><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 12pt; font-weight: bold;"><span style="font-size: 18pt; font-family: 'Times New Roman';">FORM <ix:nonNumeric name="dei:DocumentType" id="Fact_287d46fc470b4cde89c7e3e849359750" contextRef="c20240101to20240331">10-Q</ix:nonNumeric></span></div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">(Mark One)</div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 45pt; vertical-align: top; font-family: 'Segoe UI Symbol'; font-size: 10pt;"><ix:nonNumeric name="dei:DocumentQuarterlyReport" id="Fact_422f28aee3b14fb488f56382fb297d5d" contextRef="c20240101to20240331" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric></td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">QUARTERLY REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</div>
          </td>

  </tr>


</table>
    <div style="text-align: center;"><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">For the quarterly period ended: <ix:nonNumeric name="dei:DocumentPeriodEndDate" id="Fact_fac26618880b400a99d0a8b4eacd9e1e" contextRef="c20240101to20240331" format="ixt:date-monthname-day-year-en">March 31, 2024</ix:nonNumeric></div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">or</div>

    <div style="text-align: left;"><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 45pt; vertical-align: top; font-family: 'Segoe UI Symbol'; font-size: 10pt;"><ix:nonNumeric name="dei:DocumentTransitionReport" id="Fact_1fc7af4f6e7c4ed2b7156f65d58dfa00" contextRef="c20240101to20240331" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TRANSITION REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934</div>
          </td>

  </tr>


</table>
    <div style="text-align: left;"><br/>
    </div>

    <div style="text-align: left; text-indent: 0pt; margin-left: 45pt; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">For the transition period from _______________ to _______________.</div>

    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">Commission file number:</span>&#160;<ix:nonNumeric name="dei:EntityFileNumber" id="Fact_d67d12589f2542fe85307fd2529ff5d2" contextRef="c20240101to20240331">0-21121</ix:nonNumeric></div>

    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">
      <hr style="height: 1px; width: 30%; color: #000000; background-color: #000000; text-align: center; border: none; margin-left: auto; margin-right: auto;"/></div>

    <div style="text-align: center;"><img width="331" height="76" src="image01.jpg" alt="graphic"/></div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 1pt;"><ix:nonNumeric name="dei:EntityRegistrantName" id="Fact_77231ac75e2f4bc5b1103e02aa08a5a0" contextRef="c20240101to20240331">TRANSACT TECHNOLOGIES INC</ix:nonNumeric></div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">
      <hr style="height: 1px; width: 30%; color: #000000; background-color: #000000; text-align: center; border: none; margin-left: auto; margin-right: auto;"/></div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Exact name of registrant as specified in its charter)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 49%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityIncorporationStateCountryCode" id="Fact_1d0dee0ba61549218fb18023d7a8b795" contextRef="c20240101to20240331" format="ixt-sec:stateprovnameen">Delaware</ix:nonNumeric></div>
          </td>

    <td style="width: 2%; vertical-align: top;">&#160;</td>

    <td style="width: 49%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityTaxIdentificationNumber" id="Fact_6683ce0d159f42c7ab1361da7f1324d6" contextRef="c20240101to20240331">06-1456680</ix:nonNumeric></div>
          </td>

  </tr>

  <tr>

    <td style="width: 49%; vertical-align: top;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(State or Other Jurisdiction of Incorporation or Organization)</div>
          </td>

    <td style="width: 2%; vertical-align: top;">&#160;</td>

    <td style="width: 49%; vertical-align: top;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(I.R.S. Employer Identification No.)</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 49.01%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressAddressLine1" id="Fact_1262a0337eac406a96a13e48ac8edd2d" contextRef="c20240101to20240331">One Hamden Center</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressAddressLine2" id="Fact_4a7d80fa283e4a9da4ed44a8ca3ab4cc" contextRef="c20240101to20240331">2319 Whitney Avenue, Suite 3B</ix:nonNumeric>, <ix:nonNumeric name="dei:EntityAddressCityOrTown" id="Fact_b1cc5dc09cfb4d47ab917b2bbaf44d34" contextRef="c20240101to20240331">Hamden</ix:nonNumeric>,
              <ix:nonNumeric name="dei:EntityAddressStateOrProvince" id="Fact_facfaf9e00414c64abbc4313ef36bc49" contextRef="c20240101to20240331">CT</ix:nonNumeric></div>
          </td>

    <td style="width: 2%; vertical-align: top;">&#160;</td>

    <td style="width: 48.99%; vertical-align: bottom; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonNumeric name="dei:EntityAddressPostalZipCode" id="Fact_0b6e5db30c9d46858673d3df82e4e548" contextRef="c20240101to20240331">06518</ix:nonNumeric></div>
          </td>

  </tr>

  <tr>

    <td style="width: 49.01%; vertical-align: top;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Address of Principal Executive Offices)</div>
          </td>

    <td style="width: 2%; vertical-align: top;">&#160;</td>

    <td style="width: 48.99%; vertical-align: top;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Zip Code)</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 100%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonNumeric name="dei:CityAreaCode" id="Fact_4c9048ed7ae54a2c8b0534bab29886f4" contextRef="c20240101to20240331">203</ix:nonNumeric>) <ix:nonNumeric name="dei:LocalPhoneNumber" id="Fact_7b64e8ebe449420cab16879cb4be1587" contextRef="c20240101to20240331">859-6800</ix:nonNumeric></div>
          </td>

  </tr>

  <tr>

    <td style="width: 100%; vertical-align: top;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Registrant&#8217;s Telephone Number, Including Area Code)</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(Former name, former address and former fiscal year, if changed since last report.)</div>

    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Securities registered pursuant to Section 12(b) of the Act:</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 29.52%; vertical-align: middle; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Title of each class</div>
          </td>

    <td style="width: 1.94%; vertical-align: middle;">&#160;</td>

    <td style="width: 33.75%; vertical-align: middle; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Trading Symbol(s)</div>
          </td>

    <td style="width: 1.81%; vertical-align: middle;">&#160;</td>

    <td style="width: 32.98%; vertical-align: middle; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Name of each exchange on which registered</div>
          </td>

  </tr>

  <tr>

    <td style="width: 29.52%; vertical-align: middle;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:Security12bTitle" id="Fact_ff250c9048c94b4996bb39e03bea0fd1" contextRef="c20240101to20240331">Common stock, par value $0.01 per share</ix:nonNumeric></div>
          </td>

    <td style="width: 1.94%; vertical-align: middle;">&#160;</td>

    <td style="width: 33.75%; vertical-align: middle;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:TradingSymbol" id="Fact_4a89840b51314e39af23099c8a8a44e1" contextRef="c20240101to20240331">TACT</ix:nonNumeric></div>
          </td>

    <td style="width: 1.81%; vertical-align: middle;">&#160;</td>

    <td style="width: 32.98%; vertical-align: middle;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:SecurityExchangeName" id="Fact_669a7b27641b4eb89d56940d4e50e53a" contextRef="c20240101to20240331" format="ixt-sec:exchnameen">NASDAQ Global Market</ix:nonNumeric></div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant: (1) has filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the
      preceding 12 months (or for such shorter period that the registrant was required to file such reports), and (2) has been subject to such filing requirements for the past 90 days.&#160; <ix:nonNumeric name="dei:EntityCurrentReportingStatus" id="Fact_32b7acd185be4e5794157f9c66f1d7db" contextRef="c20240101to20240331">Yes</ix:nonNumeric>&#160; <span style="font-size: 10pt; font-family: 'Times New Roman';">&#9746;</span>&#160;&#160; No&#160; <span style="font-size: 10pt; font-family: 'Times New Roman';">&#9744;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T
      (&#167;232.405 of this chapter) during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).&#160; <ix:nonNumeric name="dei:EntityInteractiveDataCurrent" id="Fact_ddc7bffeb8bc446a984fc0e4aa4d3a32" contextRef="c20240101to20240331">Yes</ix:nonNumeric>&#160;
      <span style="font-size: 10pt; font-family: 'Times New Roman';">&#9746;</span>&#160;&#160; No&#160; <span style="font-size: 10pt; font-family: 'Times New Roman';">&#9744;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, a smaller reporting company, or an emerging
      growth company.&#160; See the definitions of &#8220;large accelerated filer,&#8221; &#8220;accelerated filer,&#8221; &#8220;smaller reporting company&#8221; and &#8220;emerging growth company&#8221; in Rule 12b-2 of the Exchange Act.</div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 57%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Large accelerated filer&#160; <span style="font-size: 10pt; font-family: 'Times New Roman';">&#9744;</span></div>
          </td>

    <td style="width: 43%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Accelerated filer <span style="font-size: 10pt; font-family: 'Times New Roman';">&#9744;</span></div>
          </td>

  </tr>

  <tr>

    <td style="width: 57%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="dei:EntityFilerCategory" id="Fact_9bdaa1803076475ab05cb178c63faf4c" contextRef="c20240101to20240331" format="ixt-sec:entityfilercategoryen">Non-accelerated filer</ix:nonNumeric>&#160;<span style="font-size: 10pt; font-family: 'Times New Roman';">&#9746;</span></div>
          </td>

    <td style="width: 43%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Smaller reporting company&#160; <span style="font-size: 10pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntitySmallBusiness" id="Fact_94f2f7a421b042749364d5edde4e35fe" contextRef="c20240101to20240331" format="ixt-sec:boolballotbox">&#9746;</ix:nonNumeric></span></div>
          </td>

  </tr>

  <tr>

    <td style="width: 57%; vertical-align: top;">&#160;</td>

    <td style="width: 43%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Emerging growth company&#160; <span style="font-size: 10pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntityEmergingGrowthCompany" id="Fact_6993c0841a5c452ba8ed3f8956c439ad" contextRef="c20240101to20240331" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span></div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">If an emerging growth company, indicate by check mark if the registrant has elected not to use the extended transition period for complying with any new or revised
      financial accounting standards provided pursuant to Section 13(a) of the Exchange Act.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman';">&#9744;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Indicate by check mark whether the registrant is a shell company (as defined in Rule 12b-2 of the Act).&#160; Yes&#160; <span style="font-size: 10pt; font-family: 'Segoe UI Symbol';"><ix:nonNumeric name="dei:EntityShellCompany" id="Fact_84d939645c4c42a3b1f7a168e8acf672" contextRef="c20240101to20240331" format="ixt-sec:boolballotbox">&#9744;</ix:nonNumeric></span>&#160;&#160; No&#160; <span style="font-size: 10pt; font-family: 'Times New Roman';">&#9746;</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">As of <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: justify; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">April 30, 2024</span> the number of shares outstanding of the Registrant&#8217;s common stock, par value $0.01 per share, was <ix:nonFraction name="dei:EntityCommonStockSharesOutstanding" id="Fact_019ebe121e7a417392e0bf8eb8afb07a" contextRef="c20240430" unitRef="U001" decimals="INF" scale="0" format="ixt:num-dot-decimal">9,994,907</ix:nonFraction>.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
      <hr style="border: none; border-bottom: 4px solid black; border-top: 1px solid black; height: 10px; color: #ffffff; background-color: #ffffff; text-align: center; margin-left: auto; margin-right: auto;"/></div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="width: 100%;" class="BRPFPageFooter"></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader"></div>

    </div>

    <!--PROfilePageNumberReset%Num%2%%%-->
    <div style="width: 100%;" class="BRPFPageFooter"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">TRANSACT TECHNOLOGIES INCORPORATED</span></div>

    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="INDEX"><!--Anchor--></a><span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="text-decoration: underline;">INDEX</span></span></div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 91.66%; vertical-align: top;" colspan="2">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">PART I - Financial Information:</div>
          </td>

    <td style="width: 8.34%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Page</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 1</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Financial Statements (unaudited)</div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#BS">Condensed Consolidated Balance Sheets</a> as of March 31, 2024 and December 31, 2023</div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">3</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#IncomeStatementQ1">Condensed Consolidated Statements of Operations</a><span style="font-size: 10pt; font-family: 'Times New Roman';"> for the </span>three months ended<span style="font-size: 10pt; font-family: 'Times New Roman';">&#160;</span>March 31, 2024<span style="font-size: 10pt; font-family: 'Times New Roman';"> and </span>2023</div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">4</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#ComprehensiveIncomeQ1">Condensed Consolidated Statements of Comprehensive (Loss) Income</a> for the three months ended&#160;March 31, 2024 and 2023</div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">5</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#CF">Condensed Consolidated Statements of Cash Flows</a> for the three months ended March 31, 2024 and 2023</div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">6</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#EquityQ1">Condensed Consolidated Statements of Changes in Shareholders&#8217; Equity</a> for the three months ended&#160;March 31, 2024 and 2023</div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">7</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#NOTES">Notes to Condensed Consolidated Financial Statements</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">8</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 2</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#Item2">Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">15</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 3</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#Item3">Quantitative and Qualitative Disclosures About Market Risk</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 4</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#Item4">Controls and Procedures</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
          </td>

  </tr>

  <tr>

    <td style="width: 91.66%; vertical-align: top; background-color: #FFFFFF;" colspan="2">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 91.66%; vertical-align: top; background-color: #CCEEFF;" colspan="2">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">PART II - Other Information:</div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 1</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a style="font-family: 'Times New Roman'; font-size: 10pt;" href="#LEGAL">Legal Proceedings</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 1A</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a style="font-family: 'Times New Roman'; font-size: 10pt;" href="#RISKFACTORS">Risk Factors</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 2</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a style="font-family: 'Times New Roman'; font-size: 10pt;" href="#UNREGISTEREDSALES">Unregistered Sales of Equity Securities and Use of Proceeds</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 3</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a style="font-family: 'Times New Roman'; font-size: 10pt;" href="#DEFAULTS">Defaults Upon Senior Securities</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 4</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a style="font-family: 'Times New Roman'; font-size: 10pt;" href="#MINESAFETY">Mine Safety Disclosures</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 5</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a style="font-family: 'Times New Roman'; font-size: 10pt;" href="#OTHERINFORMATION">Other Information</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; text-indent: -36pt; margin-right: 3.3pt; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">24</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 82.62%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 9.04%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Item 6</div>
          </td>

    <td style="width: 82.62%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#EXHIBITS">Exhibits</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">25</div>
          </td>

  </tr>

  <tr>

    <td style="width: 91.66%; vertical-align: top; background-color: #FFFFFF;" colspan="2">&#160;</td>

    <td style="width: 8.34%; vertical-align: top; background-color: #FFFFFF;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 91.66%; vertical-align: top; background-color: #CCEEFF;" colspan="2">
            <div style="text-align: justify; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;"><a href="#SIGNATURES">SIGNATURES</a></div>
          </td>

    <td style="width: 8.34%; vertical-align: top; background-color: #CCEEFF;">
            <div style="text-align: center; margin-right: 3.3pt; font-family: 'Times New Roman'; font-size: 10pt;">26</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; background-color: #FFFFFF;">

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">2</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">PART I - FINANCIAL INFORMATION</div>

    <div style="text-align: left;"><br/>
    </div>

    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 54pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Item 1.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">FINANCIAL STATEMENTS</div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">C<a id="BS"><!--Anchor--></a>ONDENSED CONSOLIDATED BALANCE SHEETS</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(unaudited)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </td>

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

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Assets:</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands, except share data)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Current assets:</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Cash and cash equivalents</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_9545a49ad3d543b0896dd9272bff8ec0" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,631</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashAndCashEquivalentsAtCarryingValue" id="Fact_79d2005e987a4548921e867e25a6bd0f" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,321</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Accounts receivable, net of allowance for expected credit losses of $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_db7443e727c8403b8a83f36adc758f66" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">668</ix:nonFraction> and $<ix:nonFraction name="us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent" id="Fact_6135e61b9fbf4d8ba8d804489505f9e7" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">768</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_60e5e2257d5f44d28c7bd3662a9eac07" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,780</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsReceivableNetCurrent" id="Fact_abefc36c1ae449fcba47d509aba86455" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,824</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Inventories</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_d03c1f0cd48c4a74934c0a0fe725b242" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">19,171</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_3840486e7e1b46a4a53be4b043b325a9" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,759</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; width: 76%;">
            <div style="margin-left: 9pt;">Prepaid income taxes<br/>
            </div>
          </td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: bold;"><ix:nonFraction name="us-gaap:PrepaidTaxes" id="Fact_6102016e1c2344dea71e07777c4c176e" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">352</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" rowspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><ix:nonFraction name="us-gaap:PrepaidTaxes" id="Fact_eff0068c5cc6440e9610c94ad8b52d46" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">322</ix:nonFraction></td>

    <td valign="bottom" colspan="1" rowspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Other current assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_90017476b5684f599ccd0152ae0da5d5" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">931</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsCurrent" id="Fact_5720f37690ab4430bb1bdbd14eae38bf" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">773</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Total current assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_16719f84d34f40c3821c8395afb4dc2c" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">38,865</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsCurrent" id="Fact_b1a7120875ef47c0945493ad3d1b64c0" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">40,999</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Fixed assets, net of accumulated depreciation of $<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_a63019cf27354cba8c11148bfe6a90a2" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">18,947</ix:nonFraction>
                and $<ix:nonFraction name="us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" id="Fact_df75900ca674492fbf4291e695f2d309" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">18,646</ix:nonFraction><br/>
              </div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_46fce8a80fb34bb3917a900ce443a3ef" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,187</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:PropertyPlantAndEquipmentNet" id="Fact_c3113b03e3214dfd815dabe4cf443eb5" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,421</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Right-of-use assets<br/>
              </div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_4396a028fc334f24a5df3f57fe4f8e04" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,371</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseRightOfUseAsset" id="Fact_00edefeb691f4b78bc02ece31117e7a1" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,602</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Goodwill</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:Goodwill" id="Fact_107b8a99003f42839c997377b656eab8" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,621</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Goodwill" id="Fact_f328c52accc94aec942a2a0774fee57e" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,621</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Deferred tax assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_872073df1f6c48b9aecba0e57f286846" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,691</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxAssetsNet" id="Fact_a6af3d6a87fb4cfbaeb4458816b0856e" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,304</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Intangible assets, net of accumulated amortization of $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_d8224e74569a4e3191d01a5cb9c28088" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,556</ix:nonFraction></span> and $<span style="text-indent: 0pt;"><ix:nonFraction name="us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization" id="Fact_747c800b69ba4a64b7549d2f3f79ed6a" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,518</ix:nonFraction></span><br/>
              </div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" id="Fact_2fdfe03b481d4489953b729f81da02d0" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">50</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IntangibleAssetsNetExcludingGoodwill" id="Fact_f75e614abeaf4e66898ae9d40471df1e" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">88</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -9pt; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Other assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_1bd2eb562726423ea09df8a92082cab5" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">133</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherAssetsNoncurrent" id="Fact_b54e0ccdac0f46ec989eb64bcc818169" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">163</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:AssetsNoncurrent" id="Fact_2adbc4026515413c94aaf3fd0883da2a" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,053</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AssetsNoncurrent" id="Fact_a706d5a309bc439a9a462d605a63013b" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,199</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Total assets</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:Assets" id="Fact_7f7a654222eb498faf894fdd789f1825" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,918</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Assets" id="Fact_fa58f07501484106a34accb906a8c15b" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">54,198</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Liabilities and Shareholders&#8217; Equity:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Current liabilities:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Revolving loan payable</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" id="Fact_fb9ce4aa49b44977a5a2fd702ed4f6d1" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,250</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LinesOfCreditCurrent" id="Fact_549f1159db934c52ab6087c6fd0de80e" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,250</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Accounts payable</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" id="Fact_29ae2208e0014023a7d1d08d708136b0" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,226</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccountsPayableCurrent" id="Fact_d417e6fd989749e9a25794a244257b5d" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,431</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Accrued liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_62fd24808fc344a6a49b70d69a9eb283" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,126</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AccruedLiabilitiesCurrent" id="Fact_ed20023c541a468f9ba16a1709755342" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,947</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Lease liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_fb57f0a320d747e7b555e9db37295675" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">941</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityCurrent" id="Fact_27f63843f5fb4efa8d8c04a26c7a3451" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">929</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_62130f92a0fb4de699a00374df9e2c39" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">925</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_534d008ff360482c96bdab44bb79a838" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,079</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Total current liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_c61879ab57104a00b035ea4ca40e970b" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,468</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesCurrent" id="Fact_d243f07976eb4140bd6509824f9282d4" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,636</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, net of current portion</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_ecbe4383b9e645639e84609b71e4963a" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">196</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_2a7427f1a4d1479bb9367cb0fb8f7ff2" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">209</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Lease liabilities, net of current portion</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_8ea0df603f52409f8e66263d741e885b" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">468</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiabilityNoncurrent" id="Fact_6508a0ef087344db8c33fff728350d7c" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">720</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Other liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_d1b2cadf7ffc4b21a36ab53530138603" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">215</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherLiabilitiesNoncurrent" id="Fact_ff86b3ca8e854bf6835b36659906862c" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">219</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" id="Fact_535f817e141e4937ae541d4d9218ba5a" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">879</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesNoncurrent" id="Fact_c075fce9c1f74b31bea56a88ca4ffd63" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,148</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Total liabilities</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:Liabilities" id="Fact_f1746504ba1e4d4ba7f4fb43bf60cbf3" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,347</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:Liabilities" id="Fact_6b2680fdcabe4305a19dda7044f7b86b" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,784</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Commitments and contingencies (see Notes 5 and 7)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><span style="-sec-ix-hidden:Fact_4cd21b3197ec4d90bde55adf6dba9e04"> </span></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;"><span style="-sec-ix-hidden:Fact_fe44e82a0afe46ecb15e07bc692aaeb9"> </span></td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Shareholders&#8217; equity:</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Common stock, $<ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_39ea429c0d84417a9484a774eb2a41c3" contextRef="c20231231" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:CommonStockParOrStatedValuePerShare" id="Fact_06cf2cc8210c4875987a205b8ed9cf39" contextRef="c20240331" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.01</ix:nonFraction></ix:nonFraction> par
                value, <ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_b15604aca6ab46c88ae1119c0917d474" contextRef="c20240331" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:CommonStockSharesAuthorized" id="Fact_282f5e196b4f4a0a99bc379301cfb944" contextRef="c20231231" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">20,000,000</ix:nonFraction></ix:nonFraction> shares authorized; <ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_ecb8104a9b034e388fca335b5318adf6" contextRef="c20240331" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">14,039,749</ix:nonFraction> and <ix:nonFraction name="us-gaap:CommonStockSharesIssued" id="Fact_b879d002d5164784a1ca08f6076c3161" contextRef="c20231231" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">14,003,653</ix:nonFraction> shares issued, respectively; <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_4cc27091ae11412188a9a3a87d04b530" contextRef="c20240331" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">9,994,907</ix:nonFraction> and <ix:nonFraction name="us-gaap:CommonStockSharesOutstanding" id="Fact_ab0b6328acf9414ebef9e92fe2f3d41d" contextRef="c20231231" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">9,958,811</ix:nonFraction> shares
                outstanding, respectively</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_c449457e7ea5474cb0476809f505806e" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">140</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CommonStockValue" id="Fact_4cb9cf600e80406c994caa9a7f0566d3" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">140</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Additional paid-in capital</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" id="Fact_7e390a85b2a64d2198b9ebf3f4eb9254" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,249</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdditionalPaidInCapitalCommonStock" id="Fact_b46de043e1594325a85bee6043f0d368" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,055</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Retained earnings</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_13cb103534e14cad818cdd51ebfd56e7" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,342</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RetainedEarningsAccumulatedDeficit" id="Fact_d6d929483e1740e9b400628baa42fb89" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,378</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Accumulated other comprehensive loss, net of tax</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_cca37ac085ae457b9a3305ce305991c2" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">50</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax" id="Fact_da5857ca7537407b9284af6eafc7ae9d" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">49</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Treasury stock, at cost (<ix:nonFraction name="us-gaap:TreasuryStockCommonShares" id="Fact_6fae60eccf2d475c8da12fc9ebaa2314" contextRef="c20231231" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:TreasuryStockCommonShares" id="Fact_157175504c47446d89705cc6d8eed923" contextRef="c20240331" unitRef="U001" decimals="0" scale="0" format="ixt:num-dot-decimal">4,044,842</ix:nonFraction></ix:nonFraction>
                shares)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:TreasuryStockValue" id="Fact_07a397dc2c7d46af8e0e83f5c281419a" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">32,110</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:TreasuryStockValue" id="Fact_3bac9342585e4776b72860c745737a9d" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">32,110</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Total shareholders&#8217; equity</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_38a67896ed45462992c56a66de031422" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">38,571</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_0da25a5135f540e1a183d656b4a28e62" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">39,414</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Total liabilities and shareholders&#8217; equity</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_f8f29ef1ddd84752b71a18240c11e797" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">51,918</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LiabilitiesAndStockholdersEquity" id="Fact_8a0b455e85884e61b68700230681cc8d" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">54,198</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
    <div style="text-align: left;"><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">See notes to Condensed Consolidated Financial Statements.</div>

    <div><br/>
    </div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">3</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="IncomeStatementQ1"><!--Anchor--></a>CONDENSED CONSOLIDATED STATEMENTS OF <a id="OPERATIONS"><!--Anchor--></a>OPERATIONS</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(unaudited)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands, except per-share data)</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net sales</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_6c9b9c453d784735996e76cf17af82eb" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,687</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8605d593c9b84ae3989252839f50c88e" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">22,270</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Cost of sales</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:CostOfRevenue" id="Fact_fce485bf7a5b4cb3be959ac3fbe1219f" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,063</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CostOfRevenue" id="Fact_d839f88330fc4b8fa76b282e35c572df" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,015</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_ea703ef6b67e4e6f9d69ada350ab6631" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,624</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GrossProfit" id="Fact_aa35c3d870754767a5ee89220b43811f" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,255</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Operating expenses:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Engineering, design and product development</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_002f993366b5496caf50e37df07ae448" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,966</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ResearchAndDevelopmentExpense" id="Fact_ef0f4f61cc664ecdb1d93b2b559a8c89" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,269</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Selling and marketing</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" id="Fact_5f2ee1cfd7354a17bd38d93c3207a7c5" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,083</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:SellingAndMarketingExpense" id="Fact_3a9508a618494ad9a1570d203e9594fd" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,757</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">General and administrative</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" id="Fact_4a32a2c09ec14c16aa18fe8e83ad3980" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,876</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:GeneralAndAdministrativeExpense" id="Fact_9642ab9e31584a55854b3b439219e712" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,416</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OperatingExpenses" id="Fact_883f2f1026b042ab9e246f5c1d5d5ed2" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,925</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingExpenses" id="Fact_13e0055e88d94c998f48c8a7e660e23c" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,442</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Operating (loss) income<br/>
              </div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_7235823d457c40869ab031c0ccae20d5" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,301</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingIncomeLoss" id="Fact_e1849fda3264493c80e828257c211658" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,813</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Interest and other (expense) income:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Interest, net</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:InterestIncomeExpenseNonoperatingNet" id="Fact_0fbffef0e2f542838dd54eeb4792b52b" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">48</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:InterestIncomeExpenseNonoperatingNet" id="Fact_a97a8e07349540529bede8e956306e54" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">66</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Other, net</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_035d4e352e05429499f19071382acff7" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">60</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherNonoperatingIncomeExpense" id="Fact_22b8759e875f4252b8c9c49452e85fec" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">21</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_27560024835b4704890445c439a61744" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">12</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NonoperatingIncomeExpense" id="Fact_00c83dec9dc645c5af0e3074df4304f2" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">45</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">(Loss) income before income taxes</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_d445299b7d674ec4a3d0c8041318f768" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,313</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" id="Fact_a6aa9868d4974d519793fab6b49d1693" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,768</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Income tax (benefit) expense <br/>
              </div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_6249573190594fa989d395fe4584f806" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">277</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_cb702335bd3a49db919c6c507fb0041d" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">629</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income <br/>
              </div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_650aee51a0e54758b6da503bcd9ff13a" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,036</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_feec89e497ad4db4b33b8ee323ceeccf" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income per common share:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_4adf60d7d8944665abaa240335c20322" contextRef="c20240101to20240331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.10</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_8280e8e10c3241d59015ce5bdf7a3f7d" contextRef="c20230101to20230331" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.32</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_d99949e368b847fb871fe5394744eb5b" contextRef="c20240101to20240331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.10</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_19788feb725f4c0f8dbe2518fc42b9bc" contextRef="c20230101to20230331" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.31</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Shares used in per-share calculations:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_186b8fdd1b77422f84f21e7b9eb3d70b" contextRef="c20240101to20240331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,972</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_3a678b36a87d45159700f6b8f405abfc" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,930</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_74eec27463344ea1991077764ad3eb63" contextRef="c20240101to20240331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,972</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_c6ede6fb4eb4441ca90c18f1fe5d8f2a" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,043</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
    <div style="text-align: left;"><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">See notes to Condensed Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">4</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="ComprehensiveIncomeQ1"><!--Anchor--></a>CONDENSED CONSOLIDATED STATEMENTS OF <a id="COMPREHENSIVELOSS"><!--Anchor--></a>COMPREHENSIVE
      (LOSS) INCOME </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(unaudited)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
          </td>

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

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income <br/>
              </div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_725b19a20144420cb2afb4356167bdc9" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,036</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_c27c9c5b19a442edb4e24914a4afece1" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Foreign currency translation adjustment, net of tax</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_4b24dcb66b594586bae3825ffe6b83ae" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_75e206fc9cfb47b3b713f59c414c887f" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Comprehensive (loss) income <br/>
              </div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" id="Fact_20cbad7994f4409d9c17107c48619225" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,037</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ComprehensiveIncomeNetOfTax" id="Fact_9a3fdba665c541c5b1731ca87fe83348" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,141</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">See notes to Condensed Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">5</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CONDE<a id="CF"><!--Anchor--></a>NSED CONSOLIDATED STATEMENTS OF CASH FLOWS</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(unaudited)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;" rowspan="1"/>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" rowspan="1"/>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Cash flows from operating activities:</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income&#160; <br/>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_ebedc51791cd4d459046e0ac5cae7241" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,036</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_517c59a8241a46af815fcd9d4c23226c" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,139</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Adjustments to reconcile net (loss) income to net cash used in operating activities:</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Share-based compensation expense</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_0b808d51ba5f42faafe98e5c2c5297a2" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">265</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ShareBasedCompensation" id="Fact_708d8cc7bfc64a1ea90658a26fbaf49b" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">278</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Depreciation and amortization</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" id="Fact_5266bb4f7af442bfbec85e8a4ab01472" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">395</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DepreciationAndAmortization" id="Fact_441ceb2a77dc4985a0b5d2a919948f1a" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">352</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Deferred income taxes</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_885a8144395046d2b492626ae7d00325" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">386</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:DeferredIncomeTaxExpenseBenefit" id="Fact_eb1ce58252ce470194c7040f1dae2661" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">501</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Unrealized foreign currency transaction losses</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossUnrealized" id="Fact_6644e150796a4b44a931eb32810f6467" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">62</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ForeignCurrencyTransactionGainLossUnrealized" id="Fact_bce24d138e624132853583849c0df464" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">21</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Changes in operating assets and liabilities:</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 45pt; font-family: 'Times New Roman'; font-size: 10pt;">Accounts receivable</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" id="Fact_391f6f39de0e4e1aa597bdb93792a145" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,029</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsReceivable" id="Fact_f542bba502dd45a4a522dc488fbcf532" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,044</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 45pt; font-family: 'Times New Roman'; font-size: 10pt;">Employee retention credit receivable</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" id="Fact_9bc5b028bc73422e946ded50855a3315" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherReceivables" id="Fact_02fb169e94954ae29cbc1ade478c499b" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,500</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 45pt; font-family: 'Times New Roman'; font-size: 10pt;">Inventories</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_956978afdb154b8a9a73a5c6c3d4cee4" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,440</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInInventories" id="Fact_d994f7d68e87409bb95ac215f2104445" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">351</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; text-indent: 45pt; width: 76%; background-color: #CCEEFF;" rowspan="1">Prepaid income taxes<br/>
          </td>

    <td valign="bottom" style="font-weight: bold; text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="font-weight: bold; vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidTaxes" id="Fact_4a33796470fb4e92a857280ea9c43a1f" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">30</ix:nonFraction></td>

    <td valign="bottom" style="font-weight: bold; text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">)</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" rowspan="1" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" rowspan="1" colspan="1"><ix:nonFraction name="us-gaap:IncreaseDecreaseInPrepaidTaxes" id="Fact_70d9f91dce1341c8b0686cc928a30290" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" rowspan="1" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 45pt; font-family: 'Times New Roman'; font-size: 10pt;">Other current and long-term assets</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" id="Fact_73939bc2b011475abcdf5fa1ebcdabcf" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">139</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInOtherOperatingAssets" id="Fact_ffe34e83071b40da9df8f6dbcb731c36" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">175</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 45pt; font-family: 'Times New Roman'; font-size: 10pt;">Accounts payable</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_4bd726a69a034ba7830d2b1ecb7c856f" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">214</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccountsPayable" id="Fact_e21c508a4bb04f6481db084de4a02bc8" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">2,846</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 45pt; font-family: 'Times New Roman'; font-size: 10pt;">Accrued liabilities and other liabilities</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" id="Fact_1da58e9e7ec54bd2bed4ef76bfb03cf8" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">996</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" id="Fact_17608c7f17c645fd8e006fa6abad5094" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">132</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Net cash used in operating activities</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_94ddced28c2b4e8a85612ea2b7515fea" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,490</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInOperatingActivities" id="Fact_97b20fe9f60b440aa3d58562a55a2ae9" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">757</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Cash flows from investing activities:</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Capital expenditures</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_d6c6bfe75c754a0daea7cdecbcdb70f0" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">106</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsToAcquirePropertyPlantAndEquipment" id="Fact_00369d37dd8943209aa436e2684d78dc" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">378</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Net cash used in investing activities</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_14e6859dc7b14822abd7074dac4eb9c4" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">106</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInInvestingActivities" id="Fact_accd4069bd2548a69374efa2c615156b" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">378</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Cash flows from financing activities:</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Withholding taxes paid on stock issuances</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_040a7970f6a64038810565b191a82872" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">71</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation" id="Fact_973488112c0b466cbb0f040c789c6b9a" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">86</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Net cash used in financing activities</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_a5a9ccf400c448e6942c46b746cbc3b3" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">71</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetCashProvidedByUsedInFinancingActivities" id="Fact_b56f7be4b792464b87f44cdab479cde4" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">86</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Effect of exchange rate changes on cash and cash equivalents</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_79bb3569b9e447aa94b6a2caf8758a74" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">23</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_dad1013c7a334ff5b9ce9c34e27c7f1b" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">81</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Decrease in cash and cash equivalents <br/>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_9183e56039f84365830fecea99c7f6b1" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,690</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" id="Fact_1e84c267cd104679b38660ead65920a4" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,302</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Cash and cash equivalents, beginning of period</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_23e315c010d94f138ef391246c71a677" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,321</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_f8b74ac0132140d2867fac9cc5c4695a" contextRef="c20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,946</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Cash and cash equivalents, end of period</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_fd69bcc7a52b4dd99a3a3473f49e3319" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,631</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" id="Fact_a2b13fa959a74262baf2daf782d4c194" contextRef="c20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">6,644</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Supplemental schedule of non-cash investing activities:</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Non-cash capital expenditure items</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" id="Fact_1850159952cc436bb14b8f08c30b77e6" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">31</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:CapitalExpendituresIncurredButNotYetPaid" id="Fact_9b71e5e6643c4c719f6d357d8808245e" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">25</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">See notes to Condensed Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">6</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><a id="EquityQ1"><!--Anchor--></a>CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN <a id="SHAREHOLDERSEQUITY"><!--Anchor--></a>SHAREHOLDERS&#8217; EQUITY</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(unaudited)</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
          </td>

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

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Equity beginning balance</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_444d8e3429a34a6481fbfe4812ef393b" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">39,414</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_f836155ff10e4e10b36c3b9b61d45e5e" contextRef="c20221231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">33,862</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Common stock:</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_b27f15b6338149c1a6b47f5b336dd13e" contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">140</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_90749f7d531347ebb79e3d0ebcd95c2d" contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">139</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Issuance of common stock from restricted stock units</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_652d9b9c4eb04b1399c50d29c438ddff" contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" id="Fact_b731654993264ad38bb75add11c8748f" contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_a901ffa42250440b90cb52dd7a2275d0" contextRef="c20240331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">140</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_5d1f5484a98c4cbaa4d3c430bcd01529" contextRef="c20230331_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">140</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Additional paid-in capital:</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_443e8408a1324fb585e76b23c78db9fc" contextRef="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,055</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_33a18a5dfc8b4114a3a2a8dfae1bdd1d" contextRef="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">56,282</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Share-based compensation expense</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_e14743f770264c079a13c5dcbbc8ba3e" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">265</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" id="Fact_8e4d9526dc6242abb360b2964b82aa49" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">278</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Relinquishment of stock awards to pay for withholding taxes</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_e3d7f2dc04e949e5ba9ec46526b62b72" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">71</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited" id="Fact_241bd9343c94456b9f70996938d09a35" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">86</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_ddf414113e7e4163b90e69c6284afe74" contextRef="c20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">57,249</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_d2f6621ad86d4abe93e592fa06800c14" contextRef="c20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">56,474</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Retained earnings:</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_ccdeef9fd37a435eac00b5474d3197c4" contextRef="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">14,378</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_298fdc36129e4f8dbaa33dbad0523e0a" contextRef="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,630</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income <br/>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_4f41f65aa71c4a9cb0aee6b0e542ae29" contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,036</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_b3051c4d0d424f2d8950c5c685bd798f" contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,139</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Balance, end of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_0b2bc8608fd1408d81e2ed50c1a2f89a" contextRef="c20240331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">13,342</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_b5af038ff1d4474793f7f8cb985db1e6" contextRef="c20230331_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">12,769</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Treasury stock:</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning and end of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_9b8265b930684a74b74a21a7095cabdb" contextRef="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_0ca60087c77b4210a99202eac0d75e09" contextRef="c20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">32,110</ix:nonFraction></ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_bb7af7a548ef4a0285b647fa60ccac3b" contextRef="c20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_193f5dcc2c5148d39512efcb303b904e" contextRef="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">32,110</ix:nonFraction></ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Accumulated other comprehensive loss: <br/>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">Balance, beginning of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_52654b758adc41b08c76d45cedf8abd2" contextRef="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">49</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_3a29ce13ecdb48d59468ed77c23f5698" contextRef="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">79</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div style="text-align: left; margin-left: 36pt; font-family: 'Times New Roman'; font-size: 10pt;">Foreign currency translation adjustment, net of tax</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_dd50187f8a3f4d9ca4661974312abe11" contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" id="Fact_5f6acb0c10e946a4af1409fd4a1e95e7" contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman'; font-size: 10pt;">&#160;Balance, end of period</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_4e9c0b96867e467bb10a3a0fd619ff52" contextRef="c20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">50</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_2566be465cd743868c22fcf8e4028743" contextRef="c20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">77</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Equity ending balance</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_42e91786ea234548a32dc2eff577c2c2" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">38,571</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockholdersEquity" id="Fact_d230c076b3cc486f8460c9ac7f3ceba8" contextRef="c20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">37,196</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Supplemental share information</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Issuance of shares from stock awards</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_101838234de34d6b9e486a734ec149fb" contextRef="c20240101to20240331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">47</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised" id="Fact_5d7fbf82224549f4b7dd1c029799cd73" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">54</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Relinquishment of stock awards to pay withholding taxes</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" id="Fact_1c2de405e50549f29ddce353ed09a1bd" contextRef="c20240101to20240331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">11</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation" id="Fact_bfedf6ee3cfb41aeae47ba3e34859ae6" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">12</ix:nonFraction></div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">See notes to Condensed Consolidated Financial Statements.</div>

    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; background-color: #FFFFFF;">

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">7</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">N<a id="NOTES"><!--Anchor--></a>OTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS</div>

    <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">(unaudited)</div>

    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:nonNumeric name="us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock" id="Text_acbb907bcf6a42b08d05cc4b3e119c3c" contextRef="c20240101to20240331" escape="true" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d411">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1. Basis of presentation</div>
</ix:nonNumeric>
    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d411" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d412">
<div><br/>
    </div>
</ix:continuation>

    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d412" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d413"><ix:nonNumeric name="us-gaap:BasisOfAccountingPolicyPolicyTextBlock" id="Text_aef62442dc27490e977b8a41307ebaef" contextRef="c20240101to20240331" escape="true">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">The </span>accompanying unaudited financial statements of TransAct Technologies Incorporated (&#8220;TransAct&#8221;,
      the &#8220;Company&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, or &#8220;our&#8221;) have been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;U.S. GAAP&#8221;) for interim financial information.&#160; Accordingly, they do not include all of the
      information and footnotes required by U.S. GAAP to be included in full year financial statements.&#160; In the opinion of management, all adjustments considered necessary for a fair statement of the results for the periods presented have been included and
      are of a normal recurring nature<span style="font-size: 10pt; font-family: 'Times New Roman';">.&#160; The </span>December 31, 2023<span style="font-size: 10pt; font-family: 'Times New Roman';"> Condensed Consolidated Balance Sheet data was derived from audited financial statements, but does not include all disclosures required by U.S. GAAP.&#160; These interim financial statements
        should be read in conjunction with the audited financial statements in our Annual Report on Form 10-K for the year ended </span>December 31, 2023<span style="font-size: 10pt; font-family: 'Times New Roman';"> (the &#8220;2023 Form 10-K&#8221;).</span></div>
</ix:nonNumeric></ix:continuation>

    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d413" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d414">
<div style="text-align: justify;"><br/>
      <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> The results of operations for the three months ended&#160;March 31, 2024 are
        not necessarily indicative of the results to be expected for the full year ending December 31, 2024. </span> </div>
</ix:continuation>
    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d414" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d415">
<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>
</ix:continuation>
    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d415" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d416">
<div><br/>
    </div>
</ix:continuation><ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d416" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d417">
<div><span style="background-color: rgb(255, 255, 255); font-weight: bold; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> Current Business Trends</span>
    <br/></div>
</ix:continuation>
    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d417" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d418">
<div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman'; font-size: 10pt;">After strong demand during most of 2023 due in part to our primary competitor&#8217;s struggle to deliver products in the face of
      supply chain constraints, in late 2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain concerns advised us that they would temporarily
      reduce orders until their stock normalized. This slowdown impacted our results in the fourth quarter of 2023 and the first quarter of 2024, and we expect this trend to continue to impact results during 2024 until these customers are able to sell
      their on-hand inventory. Further, our primary competitor in the casino and gaming market has resumed supplying product and continued to increase volume at what we believe is full capacity, which has resulted in the beginning of downward pricing
      pressure in that market and could exacerbate the demand slowdown, which has negatively impacted our worldwide casino and gaming sales. In addition, we have experienced cost increases as a result of current economic conditions, most of which we have
      been able to offset by increasing prices of our products.&#160; However, there can be no guarantee that we will be able to increase prices sufficiently to offset any future such cost increases that cannot be predicted, and we may be further impacted by
      supply chain disruptions, inflationary pressures and other global economic conditions that may affect the markets we serve and from which we source our supplies and parts.<br/>
      <br/>
      <span style="font-weight: normal; font-style: italic;">Balance Sheet, Cash Flow and Liquidity</span>. During the third quarter of 2023, we began a cost reduction initiative to reduce our overall level of operating expenses that included reducing
      employee headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering resources and other expenses, and to a lesser extent, certain general and administrative expenses. We saw the full impact of these
      actions in the first quarter of 2024 and expect they will result in approximately $<ix:nonFraction name="us-gaap:OperatingExpenses" id="Fact_4409ade77d9643d59c828af3568ad560" contextRef="c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember" unitRef="U002" decimals="-6" scale="6" format="ixt:num-dot-decimal">3</ix:nonFraction> million of annualized savings compared to the 2023
      levels, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts we have taken to bring expenses in line with our revenue
      and mitigate the impact of global economic conditions such as supply chain disruptions and inflation, and conditions in our markets will be sufficient or adequate, and we may be required to take additional measures, as the ultimate extent of the
      effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.</div>
</ix:continuation>
    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d418" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d419">
<div><br/></div>
</ix:continuation>
    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d419" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d4110">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial obligations over the 12 months following the date on
      which the Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q were issued, including consideration of the actions to manage expenses and liquidity, we believe that our net cash to be provided by operations
      combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations, capital spending, and working capital requirements and to comply with the
      financial covenants of our credit facility over at least 12 months following the date that the Condensed Consolidated Financial Statements were issued.</div>
</ix:continuation>
    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d4110" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d4111">
<div><br/>
    </div>
</ix:continuation>
    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">8</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>


    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d4111" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d4112"><ix:nonNumeric name="us-gaap:UseOfEstimates" id="Text_1ae2b40b68c84f8190c1283a27d13d74" contextRef="c20240101to20240331" escape="true" continuedAt="Text_1ef5d23cf1e54e1db1f5693a448080941">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Use of Assumptions and Estimates</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d4112" continuedAt="Text_834dbadc2f6a4b33a511cb711b4f9d4113"><ix:continuation id="Text_1ef5d23cf1e54e1db1f5693a448080941" continuedAt="Text_1ef5d23cf1e54e1db1f5693a448080942">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"> <br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_1ef5d23cf1e54e1db1f5693a448080942"><ix:continuation id="Text_834dbadc2f6a4b33a511cb711b4f9d4113">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Management&#8217;s belief that the Company will be able to fund its planned operations over the 12 months following the date on which the unaudited Condensed Consolidated
      Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, inflation, rising interest rates, capital expenditures and other operating costs. Though demand for our products at casinos
      has increased substantially post-pandemic, we cannot predict the ultimate impact of the current economic environment, including inflation, rising interest rates and supply chain disruptions on our customers, which may impact sales. We believe that we
      are positioned to withstand the impact of any potential future economic downturn and we would be able to take additional financial and operational actions to cut costs and/or increase liquidity.<br/>
      <br/>
      In addition, the presentation of the accompanying unaudited Condensed Consolidated Financial Statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of
      contingent assets and liabilities. Our estimates include those related to revenue recognition, accounts receivable, inventory obsolescence, goodwill and intangible assets, the valuation of deferred tax assets and liabilities, depreciable lives of
      equipment, share-based compensation and contingent liabilities. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates
      used. </div>
</ix:continuation></ix:continuation>
<div>
     &#160;
    </div>
<div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:nonNumeric name="us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" id="Text_605d7a22aa434537b6896129045ebd19" contextRef="c20240101to20240331" escape="true" continuedAt="Text_c7fb4f18aba34afdac8391c65f7542f91">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2. Significant accounting policies</div>
</ix:nonNumeric>
    <ix:continuation id="Text_c7fb4f18aba34afdac8391c65f7542f91" continuedAt="Text_c7fb4f18aba34afdac8391c65f7542f92">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_c7fb4f18aba34afdac8391c65f7542f92" continuedAt="Text_c7fb4f18aba34afdac8391c65f7542f93">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For a discussion of our significant accounting policies, see Note 2, <span style="font-style: italic;">Summary of significant accounting policies</span> within Part II,
      Item 8. &#8220;Financial Statements and Supplementary Data&#8221; in the 2023 Form 10-K.&#160; There have been no changes to our significant accounting policies since the 2023 Form 10-K.</div>
</ix:continuation>
    <ix:continuation id="Text_c7fb4f18aba34afdac8391c65f7542f93" continuedAt="Text_c7fb4f18aba34afdac8391c65f7542f94">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>
</ix:continuation>
    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
      <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">
        <ix:continuation id="Text_c7fb4f18aba34afdac8391c65f7542f94" continuedAt="Text_c7fb4f18aba34afdac8391c65f7542f95"><ix:nonNumeric name="us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock" id="Text_b63169b4f5964343ba30715d6aa0e488" contextRef="c20240101to20240331" escape="true" continuedAt="Text_b156d28aeeaa4775b3b9aa9dfcc276261">
<div style="font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold; text-align: justify;">Recently issued accounting pronouncements:</div>
</ix:nonNumeric></ix:continuation>
      </div>

      <ix:continuation id="Text_c7fb4f18aba34afdac8391c65f7542f95" continuedAt="Text_c7fb4f18aba34afdac8391c65f7542f96"><ix:continuation id="Text_b156d28aeeaa4775b3b9aa9dfcc276261" continuedAt="Text_b156d28aeeaa4775b3b9aa9dfcc276262">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On November 27, 2023, the FASB issued ASU 2023-07, <span style="font-style: italic;">Segment Reporting (Topic 280)</span>.&#160; The amendments improve reportable segment
        disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure
        requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements must be applied retrospectively to all periods
        presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.<br/>
        <br/>
      </div>
</ix:continuation></ix:continuation>
      <ix:continuation id="Text_c7fb4f18aba34afdac8391c65f7542f96"><ix:continuation id="Text_b156d28aeeaa4775b3b9aa9dfcc276262">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On December 14, 2023, the FASB issued ASU 2023-09, <span style="font-style: italic;">Income Taxes (Topic 740)</span>: Improvements to Income Tax Disclosures.&#160;&#160; This
        ASU requires the use of consistent categories and greater disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure
        requirements can be applied either prospectively or retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on
        our Consolidated Financial Statements.</div>
</ix:continuation></ix:continuation>

      <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
      </div>

    </div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">9</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>


    <ix:nonNumeric name="us-gaap:RevenueFromContractWithCustomerTextBlock" id="Text_1d094b5864c8432da01067050d7f4552" contextRef="c20240101to20240331" escape="true" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a1">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">3. Revenue</div>
</ix:nonNumeric>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a1" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a2">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a2" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a3">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.</div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a3" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a4">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a4" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a5">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a5" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a6">
<div><br/>
    </div>
</ix:continuation>

    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a6" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a7"><ix:nonNumeric name="us-gaap:DisaggregationOfRevenueTableTextBlock" id="Text_4405d58ecd534de5907c3e3390937e7b" contextRef="c20240101to20240331" escape="true" continuedAt="Text_4f4bd0ee37364391a5adb9ad6caae0c81">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following tables disaggregate our revenue by market type, as we believe this best depicts how the nature, amount, timing and uncertainty of our revenue and cash
      flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a7" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a8"><ix:continuation id="Text_4f4bd0ee37364391a5adb9ad6caae0c81" continuedAt="Text_4f4bd0ee37364391a5adb9ad6caae0c82">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a8" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a9"><ix:continuation id="Text_4f4bd0ee37364391a5adb9ad6caae0c82">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;" rowspan="1"/>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="22">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" rowspan="1"/>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="22">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="10">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="10">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="22">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_cfe04850bfa445b89af2cfc0cd2c0e92" contextRef="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,023</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_57d93f45562d4c50a44c2f609696a92a" contextRef="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">277</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_11e1f1c21a404634874aa5c0059576b7" contextRef="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,300</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_ef3a5049338a49a29f148099e32b41f1" contextRef="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,263</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_bc61fba8ea454a5c9c832ac612831bb7" contextRef="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">195</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_6d423799e928455a817ab5aca7a29c95" contextRef="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,458</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8a929a4ef7c74223accc444554117a04" contextRef="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">651</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_32444184993440beaf04a9a77633ea8d" contextRef="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:fixed-zero">&#8211;</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_a7ebf791ec99428c932985d239a8c7ac" contextRef="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">651</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_46cdc395bb3943a1bce794068dfc4210" contextRef="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,782</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_5703de47857844bfbcd270d0ceac4cd4" contextRef="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">15</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_85bc19daa7dd49f6bc3ced1d31a8f3c9" contextRef="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,797</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_45f5aeeaf8034ef490d85a5c15388966" contextRef="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,238</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_5deb565916f04bb0b227f3c2601e108b" contextRef="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,458</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_4e02347ca1b24101af8115216cfc4985" contextRef="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">5,696</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_596e36f31b334654962205dfd6f1e112" contextRef="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">11,569</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_a26f1ffbc2604d688ac8ae22f3ac5037" contextRef="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,242</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_dcdc5094e65a43fb94c559cc715ba41c" contextRef="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">15,811</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_a161ef82f25e4ac18264838e8a336bb5" contextRef="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">853</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_0e6b8685c52b4f5a8b321492d48c0aef" contextRef="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">187</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_f80ee60cd66741498cbd9fabf505dccb" contextRef="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,040</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_80d205effb6a4c15a3c471435663c48d" contextRef="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">983</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_8dd255ec494b44929e371fe616b77a58" contextRef="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">221</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_dd28d82ebf504c8aba9afd0c417c08b0" contextRef="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,204</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">&#160;Total net sales</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_0e83048c35f44cf6b8ca33bf275c59a6" contextRef="c20240101to20240331_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">7,765</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_07c71b9f7c2b41d59bb7f5731d4313e7" contextRef="c20240101to20240331_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">2,922</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_e6508dfe6446455b896f9c9d873a044f" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,687</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_3fab8cf476c64802adcf1a3b037fd064" contextRef="c20230101to20230331_StatementGeographicalAxis_US" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,597</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_9b1f25e3df93400c89fa6bbb1eb709b2" contextRef="c20230101to20230331_StatementGeographicalAxis_InternationalMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">4,673</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax" id="Fact_807e36b008524eed82eb81f35313b772" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">22,270</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a9" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a10">
<div> <br/>
    </div>
</ix:continuation>
    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a10" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a11">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Contract balances</div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a11" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a12">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a12" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a13">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior to the customer being invoiced.&#160;
      An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included within &#8220;Accounts receivable,
      net&#8221; and &#8220;Other assets&#8221; in the Condensed Consolidated Balance Sheets.&#160; <br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a13" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a14">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a14" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a15">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Contract liabilities consist of customer pre-payments and deferred revenue.&#160; Customer prepayments are reported as &#8220;Accrued liabilities&#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 are recognized as revenue when the performance obligation is complete.&#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 maintenance contracts and prepaid software
      subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&#160; For the three
      months ended March 31, 2024, we recognized revenue of $<ix:nonFraction name="tact:ContractWithCustomerRevenueRecognized" id="Fact_4432d99c23244aaf88ea2d64fc94d5dd" contextRef="c20240101to20240331" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.4</ix:nonFraction> million related to our contract liabilities at December 31, 2023. <span style="font-size: 10pt; font-family: 'Times New Roman';"><ix:nonNumeric name="us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock" id="Text_e5537ba137a64ded869295c755d2d206" contextRef="c20240101to20240331" escape="true" continuedAt="Text_ff18279ca66044918b7f7b41f1a633211"><span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;">Total net
        contract liabilities consisted of the following:</span></ix:nonNumeric></span></div>
</ix:continuation>
    <ix:continuation id="Text_ff18279ca66044918b7f7b41f1a633211" continuedAt="Text_ff18279ca66044918b7f7b41f1a633212"><ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a15" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a16">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_ff18279ca66044918b7f7b41f1a633212"><ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a16" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a17">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, current</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" id="Fact_91a4f6a8a1f140cbb71607775fb10491" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">155</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetCurrent" id="Fact_981be15778794803895b733865ae5179" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">145</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, net of current portion</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" id="Fact_7185132b02d64bcc834478634a857802" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">103</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:ContractWithCustomerAssetNetNoncurrent" id="Fact_1803c709014b4772a9fe17486358b7d6" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">120</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Customer pre-payments</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="Fact_edfe92dc6a4746d4a7b62325be38f99f" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">123</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="Fact_b5acee55d2e34475922c11a530d3461f" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">155</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, current</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_fd5273754b0e4584ae4d8713f3007b2a" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">925</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityCurrent" id="Fact_05a29edccd9b454fb17e5c4c0523c356" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,079</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, net of current portion</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_b9f80703c861495991b614684379d8a2" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">196</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:ContractWithCustomerLiabilityNoncurrent" id="Fact_f50456a995bf4ed1839c925df294674f" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">209</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Total net contract liabilities</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(<ix:nonFraction name="tact:ContractWithCustomerAssetLiabilityNet" id="Fact_6a9a01cb793647a99f5d55aa1e5a8086" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">986</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="tact:ContractWithCustomerAssetLiabilityNet" id="Fact_7f3880bad9484f9fb1c960f8a0a7485e" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,178</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation><ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a17" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a18">
<div>
    &#160;
    </div>
</ix:continuation>
<div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">10</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a18" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a19">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Remaining performance obligations</div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a19" continuedAt="Text_d919dd94f3604774ab2908b2bbd56a4a20">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_d919dd94f3604774ab2908b2bbd56a4a20">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&#160; As of March 31, 2024, the aggregate amount of transaction prices allocated to remaining performance obligations was $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_8c251578925e4f01a547c7c7d502ac95" contextRef="c20240331" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">6.8</ix:nonFraction> million.&#160; The Company expects to recognize revenue of $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_b68b96f9769d44abaf09562ee7fdb404" contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240401Member" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">6.5</ix:nonFraction>
      million of its remaining performance obligations within the next <ix:nonNumeric name="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" id="Fact_fae1e74ad08c4f7ba7fe0e0187ba392c" contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240401Member" format="ixt-sec:durwordsen">12 months</ix:nonNumeric> following March 31, 2024, $<ix:nonFraction name="us-gaap:RevenueRemainingPerformanceObligation" id="Fact_c5b14e6d54d74aa1bcb70ea0efa19d33" contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250401Member" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">0.2</ix:nonFraction> million within the next <span style="-sec-ix-hidden:Fact_e46cad17a06c427da289ce1d6da56f8a">24 months</span> following March 31, 2024 and
      the <span style="-sec-ix-hidden:Fact_c5f09af54bef4c99999a6b08fbf79c8f">balance</span> of these remaining performance obligations recognized within the next <span style="-sec-ix-hidden:Fact_66b7f79e654845d4a0990d15264f888d">36 months</span> following March 31, 2024.</div>
</ix:continuation>
<div>
     <br/></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:nonNumeric name="us-gaap:InventoryDisclosureTextBlock" id="Text_31bddd481f0441e0a56938eb192198ce" contextRef="c20240101to20240331" escape="true" continuedAt="Text_81afc2571b0e4dadba86b82fdae3ef9c1">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">4. Inventories</div>
</ix:nonNumeric>
    <ix:continuation id="Text_81afc2571b0e4dadba86b82fdae3ef9c1" continuedAt="Text_81afc2571b0e4dadba86b82fdae3ef9c2">
<div><br/>
    </div>
</ix:continuation>

    <ix:continuation id="Text_81afc2571b0e4dadba86b82fdae3ef9c2" continuedAt="Text_81afc2571b0e4dadba86b82fdae3ef9c3"><ix:nonNumeric name="us-gaap:ScheduleOfInventoryCurrentTableTextBlock" id="Text_4c80a8d345cf46a2aabb3c378fa55e8d" contextRef="c20240101to20240331" escape="true" continuedAt="Text_1058015a0aa547d995c09d5ca888ebeb1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The components of inventories were:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_81afc2571b0e4dadba86b82fdae3ef9c3" continuedAt="Text_81afc2571b0e4dadba86b82fdae3ef9c4"><ix:continuation id="Text_1058015a0aa547d995c09d5ca888ebeb1" continuedAt="Text_1058015a0aa547d995c09d5ca888ebeb2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_81afc2571b0e4dadba86b82fdae3ef9c4"><ix:continuation id="Text_1058015a0aa547d995c09d5ca888ebeb2">
<table cellspacing="0" cellpadding="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="6" style="vertical-align: bottom;">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="2" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Raw materials and purchased component parts</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves" id="Fact_49b36959d3e547bcb28f0580d4b970b6" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,644</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves" id="Fact_87f5c8c0a2cf4409a2235f2ed8bb4346" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,382</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Finished goods</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" id="Fact_c9519ce154ce4852838552194122e815" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,527</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryFinishedGoodsNetOfReserves" id="Fact_b98c9700bbff45368f8de11bca11356b" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">8,377</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_a75db07c4953468cb6425aa5721d881a" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">19,171</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:InventoryNet" id="Fact_7568f583e8cc431ca0a2864340c1f0de" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">17,759</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <div><br/>
    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:nonNumeric name="us-gaap:DebtDisclosureTextBlock" id="Text_d638c05632344998a9a0996ac4073d88" contextRef="c20240101to20240331" escape="true" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c1">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">5. <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Borrowings</span></div>
</ix:nonNumeric>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c1" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c2">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c2" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c3">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold;">Credit Facility</div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c3" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c4">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c4" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c5">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On March 13, 2020, <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">we entered into<span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; text-indent: 0px; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"> the Loan and Security Agreement governing</span> a credit facility (the &#8220;Sien</span>a Credit Facility&#8221;) with Siena Lending Group
      LLC (the &#8220;Lender&#8221;).&#160; The Siena Credit Facility provides for a revolving credit line of up to $<ix:nonFraction name="us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity" id="Fact_5196606003c542cb87780f2513c7412a" contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">10.0</ix:nonFraction> million and was originally scheduled to
      expire on March 13, 2023, prior to being extended, as discussed below. Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" id="Fact_6e112370942047bb99c76d6475ef1583" contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember" unitRef="U004" decimals="4" scale="-2" format="ixt:num-dot-decimal">1.75</ix:nonFraction>%, (ii) the federal funds rate plus <ix:nonFraction name="us-gaap:DebtInstrumentBasisSpreadOnVariableRate1" id="Fact_a494f144f57e429a95ed024326ae23f2" contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember" unitRef="U004" decimals="4" scale="-2" format="ixt:num-dot-decimal">2.25</ix:nonFraction>%, and (iii) <ix:nonFraction name="us-gaap:DebtInstrumentInterestRateStatedPercentage" id="Fact_81de1f78ed244fe7b12a46857458c0b0" contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U004" decimals="4" scale="-2" format="ixt:num-dot-decimal">6.50</ix:nonFraction>%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $<ix:nonFraction name="us-gaap:DeferredFinanceCostsGross" id="Fact_6d72a6c4a76a4c0fb8cba883ad96ee67" contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">245</ix:nonFraction> thousand which were reported as &#8220;Other current assets&#8221; in current assets and &#8220;Other assets&#8221; in non-current assets in the Condensed Consolidated
      Balance Sheets. We also pay a fee of <ix:nonFraction name="us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" id="Fact_35e69dc4d9b441828aaf43bb344e9d68" contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U004" decimals="4" scale="-2" format="ixt:num-dot-decimal">0.50</ix:nonFraction>% on unused borrowings under the Siena Credit Facility. Borrowings under the Siena Credit
      Facility are secured by a lien on substantially all the assets of the Company. <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Borrowings under the Siena Credit Facility are subject to a</span> </span>borrowing base based on <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable" id="Fact_d7ffcc2d0374435db20f0a474630d9cc" contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U004" decimals="2" scale="-2" format="ixt:num-dot-decimal">85</ix:nonFraction>% of eligible accounts receivable plus the lesser of (a) $<ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventory" id="Fact_59d12669c3de411abf5b6b8cfb31f1dc" contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">5.0</ix:nonFraction>
      million and (b) <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" id="Fact_027536e3bf25429b924bb6735780fb0f" contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U004" decimals="2" scale="-2" format="ixt:num-dot-decimal">50</ix:nonFraction>% of eligible raw material and <ix:nonFraction name="tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" id="Fact_40aa374b657c4476b571764f2773da10" contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U004" decimals="2" scale="-2" format="ixt:num-dot-decimal">60</ix:nonFraction>% of finished goods inventory. </div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c5" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c6">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c6" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c7">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur additional indebtedness and create other
      liens. On July 21, 2021, the Company entered into an amendment (&#8220;Siena Credit Facility Amendment No. 1&#8221;) to the Siena Credit Facility. Siena Credit Facility Amendment No. 1 changed the financial covenant under the Siena Credit Facility from a minimum
      EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $<ix:nonFraction name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" id="Fact_3690ad98df5f49f2980925d6393838cd" contextRef="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">750</ix:nonFraction> thousand under
      the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ended July 31, 2021. From July 31, 2021 through March 31, 2024, we remained in compliance with our excess availability covenant. As of March 31, 2024, we had $<ix:nonFraction name="us-gaap:SecuredDebt" id="Fact_811590a176b94f63a13365bdd1fe1022" contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">2.3</ix:nonFraction> million of outstanding borrowings under the Siena Credit Facility and $<ix:nonFraction name="us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity" id="Fact_928707ca14d647749d94ae3d10f00d92" contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U002" decimals="-5" scale="6" format="ixt:num-dot-decimal">3.0</ix:nonFraction> million of net borrowing capacity available under the Siena Credit Facility.</div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c7" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c8">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c8" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c9">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On July 19, 2022, the Company and the Lender entered into Amendment No. 2 (&#8220;Siena Credit Facility Amendment No. 2&#8221;) to the Siena Credit Facility as amended by Siena
      Credit Facility Amendment No. 1.&#160; Also on July 19, 2022, the Company and the Lender entered into an Amended and Restated Fee Letter (the &#8220;Amended Fee Letter&#8221;) in connection with Siena Credit Facility Amendment No. 2. Siena Credit Facility Amendment
      No. 2 did not modify the aggregate amount of the revolving commitment or the interest rate applicable to the loans<span style="font-size: 10pt; font-family: 'Times New Roman';">.</span></div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c9" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c10">
<div><br/>
    </div>
</ix:continuation>
    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">11</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c10" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c11">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The changes to the Siena Credit Facility provided for in Siena Credit Facility Amendment No. 2 include, among other things, the following:</div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c11" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c12">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>
</ix:continuation>
    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
      <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c12" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c13">
<div>
        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
                <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(i)</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The extension of the maturity date from March 13, 2023 to March 13, 2025; and</div>
              </td>

  </tr>


</table>
      </div>
</ix:continuation>
      <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c13" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c14">
<div><br/>
      </div>
</ix:continuation>
      <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c14" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c15">
<div>
        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
                <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(ii)</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The termination of the existing blocked account control agreement and entry into a new &#8220;springing&#8221; deposit account control agreement,
                  permitting the Company to direct the use of funds in its deposit account until such time as (a) the sum of excess availability under the Siena Credit Facility as amended and unrestricted cash is less than $<ix:nonFraction name="tact:DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" id="Fact_480c055959fb4004ad6f8346b4963123" contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U002" decimals="-6" scale="6" format="ixt:num-dot-decimal">5</ix:nonFraction> million for <ix:nonNumeric name="tact:DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" id="Fact_9179473b03df469887d0c75a69dbc097" contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" format="ixt-sec:durday">3</ix:nonNumeric> consecutive
                  business days or (b) an event of default occurs and is continuing.</div>
              </td>

  </tr>


</table>
      </div>
</ix:continuation>
      <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c15" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c16">
<div style="display:none;"><br/></div>
<div style="text-align: justify; text-indent: -18pt; margin-left: 36pt;"><br/>
      </div>
</ix:continuation>
    </div>

    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c16" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c17">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">In addition, the Amended Fee Letter requires the Company, while it retains the ability to direct the use of funds in the deposit account, to maintain outstanding
      borrowings of at least $<ix:nonFraction name="tact:DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" id="Fact_a50c1082a8f84dd29aa8c1700f032a61" contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">2,250,000</ix:nonFraction> in principal amount. If the Company does not have the ability to direct the use of funds in the deposit
      account, then the Amended Fee Letter requires the Company to pay interest on at least $<ix:nonFraction name="tact:DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" id="Fact_7b021be6dceb4609b451ae6779160fe7" contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember" unitRef="U002" decimals="0" scale="0" format="ixt:num-dot-decimal">2,250,000</ix:nonFraction> principal amount of loans, whether or not
      such amount of loans is actually outstanding.</div>
</ix:continuation>
    <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c17" continuedAt="Text_69a4e26287e74d4f8d7d7ac488d7752c18">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>
</ix:continuation>
    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
      <ix:continuation id="Text_69a4e26287e74d4f8d7d7ac488d7752c18">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On May 1, 2023, the Company and the Lender agreed to a letter amendment to the Loan and Security Agreement governing the Siena Credit Facility. <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">Prior to such amendment,</span> Section 7.1(m) of the Loan
        and Security Agreement governing the Siena Credit Facility required that any successor to the Company&#8217;s former Chief Executive Officer be reasonably acceptable to the Lender. This amendment confirmed that Mr. John Dillon, the Company&#8217;s current
        Chief Executive Officer, is an acceptable successor, and applied the same requirement to any future successor to Mr. Dillon <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">as Chief Executive Officer</span>.</div>
</ix:continuation>
       </div>

    <div><br/>
    </div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:nonNumeric name="us-gaap:EarningsPerShareTextBlock" id="Text_a11a5a36bbad4987bd79a609d91d4e3c" contextRef="c20240101to20240331" escape="true" continuedAt="Text_948dd38202644748b1c0fd8c722c94161">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">6. Earnings per share</div>
</ix:nonNumeric>
    <ix:continuation id="Text_948dd38202644748b1c0fd8c722c94161" continuedAt="Text_948dd38202644748b1c0fd8c722c94162">
<div><br/>
    </div>
</ix:continuation>

    <ix:continuation id="Text_948dd38202644748b1c0fd8c722c94162" continuedAt="Text_948dd38202644748b1c0fd8c722c94163"><ix:nonNumeric name="us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" id="Text_13bcc76aace54a8faeb5be1315fa5016" contextRef="c20240101to20240331" escape="true" continuedAt="Text_ab4beb7657904a9482678a8db821fe991">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following table sets forth the reconciliation of basic and diluted weighted average shares outstanding :</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_948dd38202644748b1c0fd8c722c94163" continuedAt="Text_948dd38202644748b1c0fd8c722c94164"><ix:continuation id="Text_ab4beb7657904a9482678a8db821fe991" continuedAt="Text_ab4beb7657904a9482678a8db821fe992">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_948dd38202644748b1c0fd8c722c94164" continuedAt="Text_948dd38202644748b1c0fd8c722c94165"><ix:continuation id="Text_ab4beb7657904a9482678a8db821fe992">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;" rowspan="1"/>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" rowspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; white-space: nowrap;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands, except per-share data)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_09ac5ba00c0f49bd834d207f25da47e0" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">1,036</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:NetIncomeLoss" id="Fact_864ca8d3489f4d1da28d41a3ee2107eb" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">3,139</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Shares:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_e283b26caf1f43f3be106cc9c277f783" contextRef="c20240101to20240331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,972</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfSharesOutstandingBasic" id="Fact_c04269c050604f508a551791c795b7f0" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,930</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_8603fa51c39944e38949cb27ed2b743c" contextRef="c20240101to20240331" unitRef="U001" decimals="-3" scale="3" format="ixt:fixed-zero">-</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" id="Fact_65e81271196e4247b8bf56a739c51680" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">113</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_191dd1e81951463b914b1684d2b36660" contextRef="c20240101to20240331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">9,972</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding" id="Fact_37224d693f1a4cfdbabc934c21fe5d63" contextRef="c20230101to20230331" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">10,043</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income per common share:</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_45477ab811e94011a64ed8b6ada2724f" contextRef="c20240101to20240331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.10</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareBasic" id="Fact_37aacccef2e642268d4cef755f9f7d71" contextRef="c20230101to20230331" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.32</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(<ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_6161d660474043aab452668170301511" contextRef="c20240101to20240331" unitRef="U003" decimals="2" sign="-" scale="0" format="ixt:num-dot-decimal">0.10</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:EarningsPerShareDiluted" id="Fact_0c7ac0d657004d38b5d7e6ba607c8cd0" contextRef="c20230101to20230331" unitRef="U003" decimals="2" scale="0" format="ixt:num-dot-decimal">0.31</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_948dd38202644748b1c0fd8c722c94165" continuedAt="Text_948dd38202644748b1c0fd8c722c94166">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_948dd38202644748b1c0fd8c722c94166">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options and restricted stock units, when the
      average market price of the common stock is lower than the exercise price of the related stock award during the period, as the inclusion of these stock awards in the computation of diluted earnings would be anti-dilutive. For the three months ended March 31, 2024, there were <ix:nonFraction name="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" id="Fact_aece6e09a12f43dabc3ccb40decd21c0" contextRef="c20240101to20240331_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U001" decimals="-3" scale="3" format="ixt:num-dot-decimal">89</ix:nonFraction> thousand
      of potentially dilutive shares consisting of stock awards that were excluded from the calculation of earnings per diluted share.&#160; Furthermore, in&#160; periods when a net loss is reported, such as the three months ended March 31, 2024, basic and diluted
      net loss per common share are calculated using the same method.</div>
</ix:continuation>

    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageFooter" style="width: 100%;"></div>

      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">12</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:nonNumeric name="us-gaap:LesseeOperatingLeasesTextBlock" id="Text_b9e09ee9f84a4b47b4a233230bf89b3b" contextRef="c20240101to20240331" escape="true" continuedAt="Text_e370a48c24454e898840fb3b3f924d731">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">7. Leases</div>
</ix:nonNumeric>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d731" continuedAt="Text_e370a48c24454e898840fb3b3f924d732">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d732" continuedAt="Text_e370a48c24454e898840fb3b3f924d733">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We account for leases in accordance with ASC Topic 842: <span style="font-style: italic;">Leases</span>.</div>
</ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d733" continuedAt="Text_e370a48c24454e898840fb3b3f924d734">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d734" continuedAt="Text_e370a48c24454e898840fb3b3f924d735">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing leases. Our leases are included in
      &#8220;Right-of-use-assets&#8221; and &#8220;Lease liabilities&#8221; in our Condensed Consolidated Balance Sheets.&#160; Our leases have various lease terms, some of which include options to extend. Lease expense is recognized on a straight-line basis over the lease term.</div>
</ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d735" continuedAt="Text_e370a48c24454e898840fb3b3f924d736">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d736" continuedAt="Text_e370a48c24454e898840fb3b3f924d737">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Operating lease expense for the three months ended March 31, 2024
      and 2023 was $<ix:nonFraction name="us-gaap:OperatingLeaseExpense" id="Fact_40215de1d43b4a7c978866138adcf63e" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">282</ix:nonFraction>
      thousand and $<ix:nonFraction name="us-gaap:OperatingLeaseExpense" id="Fact_b0adf29a88fd415890d3faaee32c03b1" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">237</ix:nonFraction> thousand, respectively, and is reported as &#8220;Cost of sales&#8221;, &#8220;Engineering, design and product development expense&#8221;,
      &#8220;Selling and marketing expense&#8221;, and &#8220;General and administrative expense&#8221; in the Condensed Consolidated Statements of Operations. Operating lease expenses include short-term lease costs, which were immaterial during the periods presented.</div>
</ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d737" continuedAt="Text_e370a48c24454e898840fb3b3f924d738">
<div><br/>
    </div>
</ix:continuation>

    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d738" continuedAt="Text_e370a48c24454e898840fb3b3f924d739"><ix:nonNumeric name="tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" id="Text_1f45e10836124f919d29e35a5000c1c3" contextRef="c20240101to20240331" escape="true" continuedAt="Text_dee1d3b02c294b6cbc1f4cc4c65597df1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d739" continuedAt="Text_e370a48c24454e898840fb3b3f924d7310"><ix:continuation id="Text_dee1d3b02c294b6cbc1f4cc4c65597df1" continuedAt="Text_dee1d3b02c294b6cbc1f4cc4c65597df2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7310" continuedAt="Text_e370a48c24454e898840fb3b3f924d7311"><ix:continuation id="Text_dee1d3b02c294b6cbc1f4cc4c65597df2">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;" rowspan="1"/>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" rowspan="1"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Operating cash outflows from leases</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OperatingLeasePayments" id="Fact_7c0ce1dd87e64677b7a491fb0661ff40" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">257</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeasePayments" id="Fact_cc8a121c918a4af1ad6f4a146e63dfd9" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">252</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7311" continuedAt="Text_e370a48c24454e898840fb3b3f924d7312">
<div><br/>
    </div>
</ix:continuation>

    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7312" continuedAt="Text_e370a48c24454e898840fb3b3f924d7313"><ix:nonNumeric name="tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" id="Text_eb794ce20ce74cf7b3c2d9408421fb1a" contextRef="c20240101to20240331" escape="true" continuedAt="Text_c3089145301d4d7f858479ab75395af11">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes additional information related to our leases as of March 31, 2024 and December 31, 2023:</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7313" continuedAt="Text_e370a48c24454e898840fb3b3f924d7314"><ix:continuation id="Text_c3089145301d4d7f858479ab75395af11" continuedAt="Text_c3089145301d4d7f858479ab75395af12">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7314" continuedAt="Text_e370a48c24454e898840fb3b3f924d7315"><ix:continuation id="Text_c3089145301d4d7f858479ab75395af12">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"> </td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024<br/>
              </div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_d8d0ae144c804914be405c0404ce7557" contextRef="c20240331" format="ixt-sec:duryear">1.5</ix:nonNumeric></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonNumeric name="us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1" id="Fact_3e5e4d15696142f8839df9dd3546901b" contextRef="c20231231" format="ixt-sec:duryear">1.7</ix:nonNumeric></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average discount rate</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" id="Fact_ee7d8495d8e04b4eb60531ee3787dfea" contextRef="c20240331" unitRef="U004" decimals="3" scale="-2" format="ixt:num-dot-decimal">4.4</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent" id="Fact_f7dbd8a903624b398127ee38f3e0d911" contextRef="c20231231" unitRef="U004" decimals="3" scale="-2" format="ixt:num-dot-decimal">4.4</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7315" continuedAt="Text_e370a48c24454e898840fb3b3f924d7316">
<div><br/>
    </div>
</ix:continuation>

    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7316" continuedAt="Text_e370a48c24454e898840fb3b3f924d7317"><ix:nonNumeric name="us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock" id="Text_19becef6126e41c09c60350897607a13" contextRef="c20240101to20240331" escape="true" continuedAt="Text_39af763be86c421fb92dd7ae24272e3d1">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities as of March 31, 2024 and December 31, 2023 were as follows (in thousands):</div>
</ix:nonNumeric></ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7317" continuedAt="Text_e370a48c24454e898840fb3b3f924d7318"><ix:continuation id="Text_39af763be86c421fb92dd7ae24272e3d1" continuedAt="Text_39af763be86c421fb92dd7ae24272e3d2">
<div><br/>
    </div>
</ix:continuation></ix:continuation>
    <ix:continuation id="Text_e370a48c24454e898840fb3b3f924d7318"><ix:continuation id="Text_39af763be86c421fb92dd7ae24272e3d2">
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"/>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024<br/>
              </div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><br/>
              </div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" id="Fact_d0bbd6d6bbb149d09efcca7a206c36ce" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">727</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" id="Fact_c26c2f408c35416fa84d3428457da667" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">985</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">2025</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" id="Fact_06dbfb1cf23140ae9789cc79afe3fb02" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">712</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" id="Fact_fb91632efcb44ba1a88bb4dfb813eae5" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">713</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">2026</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" id="Fact_d00f883d93354296a8a9e43555831acd" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">22</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" id="Fact_00daf5ce2a7a4ca8965b2ae34dcf7cec" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">22</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%;">
            <div>
              <div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;">Total undiscounted lease payments</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" id="Fact_c495f75168c64b2ea075f39bfbe0334a" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,461</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue" id="Fact_14277b60eaae4818865175aab3843dbb" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,720</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Less imputed interest</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" id="Fact_583c2ace8fb84e2c97e27286bcfb325f" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">52</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" id="Fact_c5f37fecf3374bc9998e909528674379" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">71</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px;">
            <div>
              <div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;">Total lease liabilities</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" id="Fact_5c90067493154e7a8275f5583d0469a7" contextRef="c20240331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,409</ix:nonFraction></div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" colspan="1">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;"><ix:nonFraction name="us-gaap:OperatingLeaseLiability" id="Fact_f8079072c34b44f9b45429fde2b2adbe" contextRef="c20231231" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">1,649</ix:nonFraction></div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>


</table>
</ix:continuation></ix:continuation>

    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div class="BRPFPageNumberArea" style="text-align: center;"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">13</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div class="BRPFPageHeader" style="width: 100%;">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div class="BRPFPageFooter" style="width: 100%;"></div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:nonNumeric name="us-gaap:IncomeTaxDisclosureTextBlock" id="Text_30e5594b386d46d290be86b035f7ff1f" contextRef="c20240101to20240331" escape="true" continuedAt="Text_b2765d48078d45a4844be8208950b5a11">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">8. Income taxes</div>
</ix:nonNumeric>
    <ix:continuation id="Text_b2765d48078d45a4844be8208950b5a11" continuedAt="Text_b2765d48078d45a4844be8208950b5a12">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_b2765d48078d45a4844be8208950b5a12" continuedAt="Text_b2765d48078d45a4844be8208950b5a13">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">We recorded an income tax benefit in the first quarter of 2024 of $<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_4a1c284bf5904a9d8dfa08d8d0deb69f" contextRef="c20240101to20240331" unitRef="U002" decimals="-3" scale="3" sign="-" format="ixt:num-dot-decimal">277</ix:nonFraction> thousand at an
        effective tax rate of (<ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_bf8b4ad06da84d76963d91a73c1569ec" contextRef="c20240101to20240331" unitRef="U004" decimals="3" sign="-" scale="-2" format="ixt:num-dot-decimal">21.1</ix:nonFraction>%) compared to an income tax expense in the first quarter of 2023 of $<ix:nonFraction name="us-gaap:IncomeTaxExpenseBenefit" id="Fact_11a02ab6997548b180df4f7b9fe187ed" contextRef="c20230101to20230331" unitRef="U002" decimals="-3" scale="3" format="ixt:num-dot-decimal">629</ix:nonFraction> thousand at an effective tax rate of <ix:nonFraction name="us-gaap:EffectiveIncomeTaxRateContinuingOperations" id="Fact_c38785961de54b0091a3af86d57fe8cd" contextRef="c20230101to20230331" unitRef="U004" decimals="3" scale="-2" format="ixt:num-dot-decimal">16.7</ix:nonFraction>%.</span></div>
</ix:continuation>
    <ix:continuation id="Text_b2765d48078d45a4844be8208950b5a13" continuedAt="Text_b2765d48078d45a4844be8208950b5a14">
<div><br/>
    </div>
</ix:continuation>
    <ix:continuation id="Text_b2765d48078d45a4844be8208950b5a14">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">We are subject to U.S. federal income tax, as well as income tax in certain U.S. state and foreign
        jurisdictions.&#160; We have substantially concluded all U.S. federal, state and local income tax, and foreign tax regulatory examination matters through 2019.&#160; However, our federal tax returns for the years 2020 through 2023 remain open to examination.
        Various U.S. state and foreign tax jurisdiction tax years remain open to examination as well, but we believe that any additional assessment would be immaterial to the Condensed Consolidated Financial Statements. The Company maintains a valuation
        allowance against certain deferred tax assets where realization is not certain.</span></div>
</ix:continuation>

    <div><br/>
    </div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <ix:nonNumeric name="us-gaap:SubsequentEventsTextBlock" id="Text_e129fbce56dc49a4a3b033f7079d8e84" contextRef="c20240101to20240331" escape="true" continuedAt="Text_9590a93c327a40219c96cca03ecb3a721">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">9. Subsequent events</div>
</ix:nonNumeric>
    <ix:continuation id="Text_9590a93c327a40219c96cca03ecb3a721" continuedAt="Text_9590a93c327a40219c96cca03ecb3a722">
<div><br/>
    </div>
</ix:continuation>
    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
      <div style="text-align: justify; margin-top: 3pt; margin-bottom: 3pt; font-family: 'Times New Roman'; font-size: 10pt;">
        <ix:continuation id="Text_9590a93c327a40219c96cca03ecb3a722">
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The Company has evaluated all events or transactions that occurred up to the date the Condensed Consolidated Financial Statements were available to be issued.&#160; Based
          upon this review, the Company did not identify any subsequent events that would have required adjustment or disclosure in the Condensed Consolidated Financial Statements.</div>
</ix:continuation>
      </div>

    </div>


    <div><br/>
    </div>


  </div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">
  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">14</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <a id="Item2"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">Item 2.</span></td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">MANAGEMENT&#8217;S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS</div>
        </td>

  </tr>


</table>
  <div style="text-align: justify;"><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Forward-Looking Statements</div>

  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">Certain statements included in this Quarterly Report on Form 10-Q for the period ended March 31, 2024 (this &#8220;Report&#8221;), including
      without limitation, statements in this Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations are &#8220;forward-looking statements&#8221; within the meaning of the U.S. federal securities laws, including the Private Securities
      Litigation Reform Act of 1995. Forward-looking statements are any statements other than statements of historical fact. Forward-looking statements represent current views about possible future events and are often identified by the use of
      forward-looking terminology, such as &#8220;may,&#8221; &#8220;will,&#8221; &#8220;could,&#8221; &#8220;expect,&#8221; &#8220;intend,&#8221; &#8220;estimate,&#8221; &#8220;anticipate,&#8221; &#8220;believe,&#8221; &#8220;project,&#8221; &#8220;plan,&#8221; &#8220;predict,&#8221; &#8220;design&#8221; or &#8220;continue&#8221; or the negative thereof or other similar words.&#160; Forward-looking statements are
      subject to certain risks, uncertainties and assumptions.&#160; In the event that one or more of such risks or uncertainties materialize, or one or more underlying assumptions prove incorrect, actual results may differ materially from those expressed or
      implied by the forward-looking statements.</div>

  </div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Important factors and uncertainties that could cause
        actual results to differ materially from those expressed or implied by the forward-looking statements include, but are not limited to, the following: the adverse effects of current economic conditions on our business, operations, financial
        condition, results of operations and capital resources, difficulties or delays in manufacturing or delivery of inventory or other supply chain disruptions, inflationary pressures, the Russia/Ukraine and Middle East conflicts, inadequate
        manufacturing capacity or a shortfall or excess of inventory as a result of difficulty in predicting manufacturing requirements due to volatile economic conditions, price increases or decreased availability of third party component parts or raw
        materials at reasonable prices, our ability to successfully develop new products that garner customer acceptance and generate sales, both domestically and internationally, in the face of substantial competition; our reliance on an unrelated third
        party to develop, maintain and host certain web-based food service application software and develop and maintain selected components of our downloadable software applications pursuant to a non-exclusive license agreement, and the risk that
        interruptions in our relationship with that third party could materially impair our ability to provide services to our food service technology customers on a timely basis or at all and could require substantial expenditures to find or develop
        alternative software products;</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">&#160;</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">our ability to successfully grow our business in the food service technology market; risks associated with the pursuit of strategic initiatives and business growth; our dependence on contract manufacturers for the assembly of a large
        portion of our products in Asia; our dependence on significant suppliers; our ability to recruit and retain quality employees; our dependence on third parties for sales outside the United States; marketplace acceptance of new products; risks
        associated with foreign operations; price wars, supply chain disruptions or other significant pricing pressures affecting the Company&#8217;s products in the United States or abroad; increased product costs or reduced customer demand for our products due
        to changes in U.S. policy that may result in trade wars or tariffs; our ability to protect intellectual property; exchange rate fluctuations; the availability of needed financing on acceptable terms or at all; volatility of, and decreases in
        trading prices of our common stock and other risk factors identified and discussed in Part I, Item 1A, Risk Factors, and Part II, Item 7, Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations, </span>in our <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Annual Report on Form 10-K for the year ended December 31, 2023 (the &#8220;2023 Form 10-K&#8221;) </span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">and that may be detailed from time to time in the Company&#8217;s other reports filed with the Securities and Exchange Commission (the &#8220;SEC&#8221;).</span></div>

  </div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;">We caution readers not to place undue reliance on forward-looking statements, which speak only as of the date of this Report.&#160; We
      undertake no obligation to publicly or otherwise revise any forward-looking statements, whether as a result of new information, future events or other factors, except where we are expressly required to do so by applicable law.</div>

  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">15</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Overview</div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct is a global leader in developing and selling software-driven technology and printing solutions for high-growth markets including food service
    technology, point of sale (&#8220;POS&#8221;) automation and casino and gaming.&#160; Our world-class products are designed from the ground up based on market and customer requirements and are sold under the BOHA!&#8482;, AccuDate&#8482;, Epic, EPICENTRAL&#174;, and Ithaca&#174; brand
    names.&#160; During 2019, we launched a new line of products for the food service technology market, the BOHA! hardware solutions and companion branded suite of cloud-based applications.&#160; The BOHA! software and hardware products help restaurants,
    convenience stores and food service operators of all sizes automate the food production in the back-of-house operations.&#160; Known and respected worldwide for innovative designs and real-world service reliability, our thermal printers and terminals
    generate top-quality labels, coupons and transaction records such as receipts, tickets and other documents.&#160; We sell our technology to original equipment manufacturers (&#8220;OEMs&#8221;), value-added resellers, and select distributors, as well as directly to end
    users.&#160; Our product distribution spans across the Americas, Europe, the Middle East, Africa, Asia, Australia, New Zealand, the Caribbean Islands and the South Pacific. We also offer world-class service, support, labels, spare parts, accessories and
    printing supplies to our growing worldwide base of products currently in use by our customers. Through our TransAct Services Group (&#8220;TSG&#8221;), we provide a complete range of supplies and consumables used in the printing activities of customers in the
    restaurant and hospitality, retail, casino and gaming, and government markets.&#160; Through our webstore, www.transactsupplies.com, and our direct selling team, we address the demand for these products.&#160; We operate in one reportable segment: the design,
    development, and marketing of software-driven technology and printing solutions for high growth markets, and provide related services, supplies and spare parts.</div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Solely for convenience, some of the trademarks, service marks, trade names and copyrights referred to in this Form 10-Q are listed without the &#169;, &#174; and &#8482;
    symbols, but we will assert, to the fullest extent under applicable law, our rights to our trademarks, service marks, trade names and copyrights.</div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Recent Developments</div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company engaged an advisor in the fourth quarter of 2023 to assist in determining the best long-term strategy for its business and ensure the Company is
    maximizing the value of its operations for all shareholders and stakeholders. For information regarding the risks related to our engagement with an advisor, please see Part I, Item 1A, Risk Factors under the sub-caption &#8220;Our success may depend in part
    on our ability to identify and pursue the best long-term strategy for our businesses&#8221; in our <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">2023 Form 10-K.</span></div>

  <div><br/>
  </div>

  <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Current Business Trends</div>

  <div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">After strong demand during most of 2023 due in part to our primary competitor&#8217;s struggle to deliver products in the
    face of supply chain constraints, in late 2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain concerns advised us that they would
    temporarily reduce orders until their stock normalized. This slowdown impacted our results in the fourth quarter of 2023 and the first quarter of 2024, and we expect this trend to continue to impact results during 2024 until these customers are able to
    sell their on-hand inventory. Further, our primary competitor in the casino and gaming market has resumed supplying product and continued to increase volume at what we believe is full capacity, which has resulted in the beginning of downward pricing
    pressure in that market and could exacerbate the demand slowdown, which has negatively impacted our worldwide casino and gaming sales. In addition, we have experienced cost increases as a result of current economic conditions, most of which we have
    been able to offset by increasing prices of our products.&#160; However, there can be no guarantee that we will be able to increase prices sufficiently to offset any future such cost increases that cannot be predicted, and we may be further impacted by
    supply chain disruptions, inflationary pressures and other global economic conditions that may affect the markets we serve and from which we source our supplies and parts.</div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Balance Sheet, Cash Flow and Liquidity. </span>During the
    third quarter of 2023, we began a cost reduction initiative to reduce our overall level of operating expenses that included reducing employee headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering
    resources and other expenses, and to a lesser extent, certain general and administrative expenses. We saw the full impact of these actions in the first quarter of 2024 and expect they will result in approximately $3 million of annualized savings
    compared to 2023 levels, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts we have taken to bring expenses in line with
    our revenue and mitigate the impact of global economic conditions such as supply chain disruptions and inflation, and conditions in our markets will be sufficient or adequate, and we may be required to take additional measures, as the ultimate extent
    of the effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.</div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Notwithstanding the foregoing, there is no assurance that the actions we have taken in response to the current business trends are sufficient or adequate,
    and we may be required to take additional preventive or responsive measures, as the ultimate extent of the effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent
    on evolving developments that cannot be predicted at this time.&#160; See Part I, Item 1A, Risk Factors, of the 2023 Form 10-K for further discussion of risks related to these current business trends.</div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">16</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <div>
    <div>
      <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Critical Accounting Estimates</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our discussion and analysis of our financial condition and results of operations are based upon our unaudited Condensed Consolidated Financial
        Statements, which have been prepared by us in accordance with accounting principles generally accepted in the United States of America.&#160; The presentation of these financial statements requires us to make estimates and judgments that affect the
        reported amounts of assets, liabilities, revenue and expenses, and the disclosure of contingent assets and liabilities.&#160; Our critical accounting estimates include those related to revenue recognition, accounts receivable, inventory obsolescence,
        goodwill and intangible assets, the valuation of deferred tax assets and liabilities and share-based compensation.&#160; We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the
        circumstances.&#160; There have been no material changes in our critical accounting estimates from the information presented in Part II, Item 7. &#8220;Management&#8217;s Discussion and Analysis of Financial Condition and Results of Operations,&#8221; in the 2023 Form
        10-K.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Results of Operations: Three months ended March 31, 2024 compared to three months ended March 31, 2023</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net Sales:</span> Net sales, which
        include printer, terminal and software sales, as well as sales of replacement parts, consumables (including labels) and maintenance and repair services, by market for the three months ended March 31, 2024 and 2023 were as follows (in thousands,
        except percentages):</div>

      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6" rowspan="1">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
            </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2023</div>
            </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$ Change</div>
            </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">% Change</div>
            </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Food service technology (&#8220;FST&#8221;)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,300</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">30.9</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,458</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15.5</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(158</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(4.6</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">POS automation</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">651</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">6.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,797</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.1</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,146</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(63.8</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Casino and gaming</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,696</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">53.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,811</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">71.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(10,115</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(64.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct Services Group (&#8220;TSG&#8221;)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,040</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">9.7</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,204</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.4</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(164</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(13.6</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10,687</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">22,270</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(11,583</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(52.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">
              <div>
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International *</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,922</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">27.3</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,673</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">21.0</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,751</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
              </div>
            </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(37.5</div>
              </div>
            </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
              <div>
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
              </div>
            </td>

  </tr>


</table>
      <div>
        <div><br/>
        </div>

      </div>

      <div>
        <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
                <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International sales do not include sales of printers and terminals made to domestic distributors or other domestic customers who may, in turn, ship those printers
                  and terminals to international destinations.</div>
              </td>

  </tr>


</table>
      </div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Net sales for the first quarter of 2024 decreased $11.6 million, or 52%,
          compared to the first quarter of 2023.&#160; Printer, terminal and other hardware unit sales volume decreased 62% to approximately 19,000 units, due primarily to </span>a 63% unit sales volume decrease in the casino and gaming market, <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">a 57% unit sales </span>volume decline in the POS automation market and a 50% unit sales volume decline in FST hardware. For more information about the sales volume decreases
        described above, please refer to the results of operations for each of our markets discussed further below.&#160; The average selling price of our printers, terminals and other hardware was relatively flat in the first quarter of 2024 compared to the
        first quarter of 2023.&#160; In addition, FST software, labels and other recurring revenue increased $0.1 million, or 3%, in the first quarter of 2024 compared to the first quarter of 2023.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International sales for the first quarter of 2024 decreased $1.8 million, or 38%, from the same period in 2023 due primarily to lower sales in our casino
        and gaming market.</div>

      <div><br/>
      </div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Food service technology (&#8220;FST&#8221;)</span>. Our primary
        offering in the FST market is our line of BOHA! products, which can combine our latest generation terminal and workstation, which include one or two printers, with our BOHA! labeling, timers, and media software.&#160; In addition, customers may
        individually purchase cloud-based software applications that connect to an application on a separate mobile device into a solution to automate back-of-house operations in restaurants, convenience stores and food service operations. The additional
        software offering of BOHA! consists of a variety of individually purchased software-as-a-service (&#8220;SaaS&#8221;)-based applications for both Android and iOS operating systems, including applications for temperature monitoring, temperature taking and
        checklists and task lists. These applications are sold separately, and customers purchase the applications they need for their back-of-house operations. Customers may also purchase associated hardware, such as tablets, temperature sensors and
        gateways. The BOHA! Terminal and newly launched Terminal 2 combine<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">&#160;</span>an operating system and hardware components in a device that includes a touchscreen and one or
        two thermal print mechanisms that print easy-to-read food rotation labels, grab-and-go labels, and nutritional labels for prepared foods, and &#8220;enjoy by&#8221; date labels. The BOHA! WorkStation uses an iPad or Android tablet instead of an integrated
        touchscreen. The BOHA! Terminal, Terminal 2 and WorkStation are equipped with the TransAct Enterprise Management System to ensure that only approved touchscreen functions are available on the touchscreen device and to allow over-the-air updates to
        the operating system. BOHA! helps food service establishments and restaurants (including fine dining, casual dining, fast casual and quick-service restaurants, convenience stores, hospitality establishments and contract food service providers)
        effectively manage food safety and grab-and-go initiatives, as well as automate and manage back-of-house operations. Recurring revenue from BOHA! is generated by software sales, including software subscriptions that are typically charged to
        customers annually on a per-application basis, as well as sales of labels, extended warranty and service contracts, and technical support services.</div>

      <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

    </div>

  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">17</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales of our worldwide FST products for the three months ended March 31, 2024 and 2023 were as follows (in thousands, except percentages):</div>

  <div><br/>
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2023</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$ Change</div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">% Change</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div>
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,023</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">91.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,263</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">94.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(240</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(7.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div>
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">277</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">8.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">195</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">82</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">42.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,300</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,458</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(158</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(4.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2023</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$ Change</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">% Change</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div>
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Hardware</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">893</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">27.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,131</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">32.7</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(238</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(21.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div>
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Software, labels and other recurring revenue</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,407</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">72.9</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,327</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">67.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">80</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,300</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,458</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(158</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(4.6</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">The decrease in food service technology sales in the first quarter of 2024 compared to the
      first quarter of 2023 </span>was primarily driven by a decrease in hardware sales.&#160; Hardware sales decreased 21% in the first quarter of 2024 compared to the first quarter of 2023 due primarily to 89% lower sales of our AccuDate 9700 terminals which
    we discontinued at the end of 2023. This decrease was partially offset by a 43% increase in sales of our BOHA! terminals and Workstation, led by strong sales of our newly launched BOHA! Terminal 2 to a large international quick serve restaurant (&#8220;QSR&#8221;)
    customer.&#160; FST software, labels and other recurring revenue increased 3% compared to the prior year period due largely to the overall increased base of installed terminals.</div>

  <div><br/>
  </div>

  <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Recently, a significant customer notified us that it would be terminating service, including its BOHA! software subscriptions and label sales, for its
    existing installed base of BOHA! terminals by the middle of June 2024. Total sales to this customer were&#160; approximately $4.0 million&#160; in 2023.&#160; Despite the loss of this customer, we expect FST revenue for the remainder of 2024 to be relatively
    consistent with 2023, as we expect revenue from new customers, including those from our newly announced international QSR customer, to largely offset those from the lost customer.</div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">POS automation:</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">&#160;</span>In the POS automation market, we sell our Ithaca 9000 printer, which utilizes thermal printing technology.&#160; Our POS printer is used primarily by
    McDonald&#8217;s, and to a lesser extent, other quick-service restaurants either at the checkout counter, grill station or within self-service kiosks to print receipts for consumers or print on linerless labels.&#160; In the POS automation market, we primarily
    sell our products through a network of domestic and international distributors and resellers.</div>

  <div style="text-align: justify;"><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Sales of our worldwide POS automation products for the three months ended March 31, 2024 and 2023 were as follows (in thousands, except percentages):</div>

  <div><br/>
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
          <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2023</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$ Change</div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">% Change</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
          <div>
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">651</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,782</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">99.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,131</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(63.5</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
          <div>
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">--</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">--</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">0.8</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(15</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(100</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">651</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,797</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,146</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(63.8</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The decrease in POS automation sales in the first quarter of 2024 compared to the first quarter of 2023 was largely driven by a 64% decrease in domestic
    sales.&#160; During the second quarter of 2022, due to production limitations caused by the worldwide supply chain slowdown at that time, we could not produce enough POS automation printers to fulfill customer orders. However, by the first quarter of 2023,
    we successfully managed through the shortage, significantly increased production and began to fulfill our large backlog of sales orders which resulted in unusually high sales for this period.&#160; During 2024, <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">due to the fact that</span> many of our customers have built up higher than normal levels of inventory of our product as described above, we have seen a slowdown in their order and shipment rates as well as a
    reduction in our average selling prices due to renewed competitive pressure.</div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We expect POS automation sales to continue to be lower in 2024 compared to 2023 as our competitors have resumed volume shipments and we therefore anticipate
    our sales volume and average selling price to return to more normalized levels.</div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">18</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <!--PROfilePageNumberReset%Num%19%%%-->
  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Casino and gaming</span>. Revenue from
    the casino and gaming market includes sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos, racetracks and other gaming venues
    worldwide. Revenue from this market also includes sales of thermal roll-fed printers used in the international off-premise gaming market in gaming machines such as Amusement with Prizes, Skills with Prizes and Fixed Odds Betting Terminals and kiosks
    for sports betting at non-casino gaming and sports betting establishments.&#160; Revenue from this market also includes royalties related to our patented casino and gaming technology. In addition, casino and gaming market revenue includes sales of the
    EPICENTRAL print system, our software solution (including annual software maintenance), that enables casino operators to create promotional coupons and marketing messages and to print them in real time at the slot machine<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">.</span>&#160;<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Sales of our worldwide casino and gaming products for the three months ended March 31, 2024 and 2023 were as follows
      (in thousands, except percentages):</span></div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2023</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$ Change</div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">% Change</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,238</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">56.8</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">11,569</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">73.2</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(8,331</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(72.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,458</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">43.2</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4,242</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">26.8</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,784</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(42.1</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,696</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15,811</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(10,115</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(64.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
            </div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The decrease in domestic sales of our casino and gaming products <span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">for the first quarter of
        2024 compared to the first quarter of 2023 of $8.3 million, or 72% is due to the fact that</span> many of our customers have built up higher than normal levels of inventory of our product accumulated as a hedge by our customers during the worldwide
      supply chain crisis during 2022 and 2023. As a result, we have experienced a slowdown in their order and shipment rates that we expect to continue during 2024 until they are able to sell through their on-hand inventory. We expect this dynamic to
      continue through at least the second quarter of 2024 with order rates and sales expected to steadily improve as we move through the second half of 2024.&#160; In addition, we expect an overall more competitive environment in 2024 as our largest competitor
      has resumed volume shipments.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The decrease in international casino and gaming sales during the first quarter of 2024 compared to the first quarter of 2023 was due to a 42% decrease in sales of our
      thermal casino printers. Similar to our domestic customers, our international customers also began to slow their order rates for the first quarter of 2024 due to higher-than-normal inventory levels.&#160; We expect this to continue to impact our
      international sales during 2024.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic; color: rgb(0, 0, 0);">TransAct Services Group (&#8220;TSG&#8221;): </span>Revenue




      generated by TSG includes sales of consumable products (POS receipt paper, ribbons and other printing supplies for non-FST legacy products), replacement parts and accessories, maintenance and repair services, refurbished printers, and shipping and
      handling charges.<span style="font-size: 10pt; font-family: 'Times New Roman'; color: rgb(0, 0, 0);"> Sales in our worldwide TSG market for the three months ended March 31, 2024 and 2023 were as follows (in thousands, except percentages)</span><span style="font-size: 10pt; font-family: 'Times New Roman',Times,serif;">:</span> </div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="6">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; white-space: nowrap;" colspan="1">&#160;</td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">March 31, 2023</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">$ Change</div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">% Change</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Domestic</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">853</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">82.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">983</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">81.6</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(130</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(13.2</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 2px;">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">International</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">187</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">18.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">221</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">18.4</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(34</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(15.4</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
            </div>
          </td>

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,040</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,204</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">100.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(164</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(13.6</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
            </div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The decrease in both domestic and international revenue from TSG during the first quarter of 2024 as compared to the first quarter of 2023 was due largely
      to 31% lower sales of legacy replacement parts for lottery printers, partially offset by a 32% increase in service revenue.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We expect TSG sales to be lower in 2024 compared to 2023 as we experienced an unusually high level of sales of legacy lottery printer replacement parts in
      2023 that we do not expect to repeat at the same level in 2024 as the installed base of these printers continues to decline.</div>

    <div><br/>
    </div>

    <div class="BRPFPageBreakArea" style="clear: both; margin-top: 10pt; margin-bottom: 10pt;">
      <div style="width: 100%;" class="BRPFPageFooter"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">19</span></div>

      <div class="BRPFPageBreak" style="page-break-after: always;">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Gross Profit.</span> Gross profit
      information for the three months ended March 31, 2024 and 2023 is summarized below (in thousands, except percentages):</div>

    <div><br/>
    </div>

    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended March 31,</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2024</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2023</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Change</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales - 2024</div>
            </div>
          </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">Total Sales -</span> <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">2023</span></div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5,624</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12,255</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(54.1</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">52.6</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">55.0</div>
            </div>
          </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
            <div>
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>
    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
      <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Gross profit is measured as revenue less cost of sales, which includes primarily the cost of all raw materials and component parts, direct labor, manufacturing
        overhead expenses, cost of finished products purchased directly from our contract manufacturers, expenses associated with installations and support of our EPICENTRAL print system and BOHA! products and royalty payments to third parties, including
        to the third-party licensor of our food service technology software products.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;">For the first quarter of 2024, gross profit decreased $6.6 million, or 54%, and gross
          margin decreased 240 basis points to 53% due primarily to a 52% decline in overall sales including a 64% decline in sales of higher margin casino and gaming printers.&#160; We expect this downward trend in gross margin to continue for much of 2024 due
          to the continued expected slowdown in order rates from many of our casino and gaming and POS customers until they sell through higher-than-normal levels of inventory of our product.&#160; As a result, we expect gross margin for the remainder of 2024
          to be in the mid-40% to high-40% range.</span></div>

    </div>

  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"> <br/>
    </span></div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses - Engineering, Design
      and Product Development.</span> Engineering, design and product development expense information for the three months ended March 31, 2024 and 2023 is summarized below (in thousands, except percentages):</div>

  <div><br/>
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended March 31,</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2023</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Change</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales - 2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales - 2023</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1,966</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,269</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(13.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">18.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">10.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Engineering, design and product development expenses primarily include salary and payroll-related expenses for our hardware and software engineering staff,
    depreciation and design expenses (including prototype printer expenses, outside design, development and testing services, supplies and contract software development expenses including those payments to third-party licensor of our food service
    technology software products).&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Engineering, design and product development expenses decreased $303 thousand, or 13%, for the first quarter of 2024 compared to the first
      quarter of 2023 due to cost reduction initiatives taken during the latter part of 2023, including a reduction of contracted software development expenses. As a result of these initiatives, we expect that engineering expenses will continue to be lower
      for the remainder of 2024 compared to 2023.</span></div>

  <div><br/>
  </div>

  <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses - Selling and Marketing.</span>
    Selling and marketing information for the three months ended March 31, 2024 and 2023 is summarized below (in thousands, except percentages):</div>

  <div><br/>
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended March 31,</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2023</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Change</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales - 2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales - 2023</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,083</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,757</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(24.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">19.5</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">12.4</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Selling and marketing expenses primarily include salaries and payroll-related expenses for our sales, marketing and customer success staff, sales
    commissions, travel expenses, expenses associated with the lease of sales offices, advertising, trade show expenses, public relations, e-commerce and other promotional marketing expenses.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">Selling and marketing expenses decreased by $674 thousand, or 24%, in the first quarter of 2024 compared to the first quarter of 2023 due to cost reduction initiatives including reduced headcount, trade show and other marketing
      expenses.&#160; As a result of these initiatives, we expect selling and marketing expenses will continue to be lower for the remainder of 2024 compared to 2023.</span></div>

  <div><br/>
  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">20</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating Expenses - General and
      Administrative</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">.</span> General and administrative information for the three months ended March 31, 2024 and 2023 is summarized below (in
    thousands, except percentages):</div>

  <div><br/>
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended March 31,,</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2023</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Change</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales - 2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales - 2023</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2,876</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,416</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(15.8</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">26.9</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">15.3</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">General and administrative expenses primarily include salaries, incentive compensation, and other payroll-related expenses for our executive, accounting, human
    resources, corporate development and information technology staff, expenses for our corporate headquarters, professional and legal expenses, information technology expenses, board of director expenses and other expenses related to being a publicly
    traded company.&#160; <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">General and administrative expenses decreased $540 thousand, or 16%, during the first quarter of 2024 compared to the first quarter of 2023 due largely to
      reduced legal fees, lower bad debt expense and the impact of cost reduction initiatives taken during the latter part of 2023.&#160; We expect general and administrative expenses for 2024 to be slightly lower compared to 2023.</span></div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Operating (Loss) Income.</span> Operating
    (loss) income information for the three months ended March 31, 2024 and 2023 is summarized below (in thousands, except percentages):</div>

  <div><br/>
  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;" class="cfttable">


  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="6">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Three Months Ended March 31,</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Percent of</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">2023</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Change</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales &#8211; 2024</div>
          </div>
        </td>

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

    <td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" colspan="2">
          <div>
            <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Total Sales &#8211; 2023</div>
          </div>
        </td>

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

  </tr>

  <tr>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1,301</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">$</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3,813</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(134.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(12.2</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%)</div>
          </div>
        </td>

    <td valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" colspan="1">&#160;</td>

    <td valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">17.1</div>
          </div>
        </td>

    <td valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" colspan="1">
          <div>
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">%</div>
          </div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
    <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">Our operating income decreased $5.1 million, or 134%, in the first quarter of 2024 compared to the first quarter of 2023 due largely to a 52% decline in
      sales and a resulting $6.6 million decrease in gross profit (including a 240 basis point decline in gross margin).&#160; This was partially offset by a reduction in operating expenses of $1.5 million, or 18%, primarily due to cost reduction efforts
      commenced in the latter part of 2023.</div>

  </div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
    <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold; font-style: italic; color: #000000;">Interest, net.</span><span style="font-size: 10pt; font-family: 'Times New Roman'; color: #000000;"> We recorded net interest income of $48 thousand in the first quarter of 2024 compared to $66 thousand of net interest expense in the first quarter of 2023.&#160; For both periods, we incurred interest
        expense on the minimum </span>$2.3 million of borrowings pursuant to the terms of the July 2022 amendment of our credit facility &#8211; see Note 5 to the accompanying condensed consolidated financial statements.&#160; During the first quarter of 2024, we
      earned more interest income than in the first quarter of 2023 due to higher levels of cash on hand combined with a higher interest rate environment.</div>

  </div>

  <div><br/>
  </div>

  <div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Other, net.</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> Other, net primarily includes foreign exchange gains or losses by our UK subsidiary.&#160; During the first quarter of 2024 we recognized $60 thousand of foreign exchange losses
        compared to $21 thousand of </span>foreign exchange gains in<span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"> the first quarter of 2023.&#160; </span>Going forward, we may continue to experience more foreign exchange gains
      or losses depending on the level of sales to European customers through our UK subsidiary and the fluctuation in exchange rates of the euro and pound sterling against the U.S. dollar.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman',Times,serif; font-weight: bold; font-style: italic;">Income Taxes.</span> We recorded an income
      tax benefit in the first quarter of 2024 of $277 thousand at an effective tax rate of (21.1%), compared to an income tax expense during the first quarter of 2023 of $629 thousand at an effective tax rate of 16.7%.&#160; In periods with pre-tax income,
      such as the first quarter of 2023, the R&amp;D credit has the effect of lowering the effective tax rate. In periods with pre-tax losses, such as the first quarter of 2024, the R&amp;D credit has the effect of raising the effective tax rate.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;">Net (Loss) Income</span><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;">.</span> We reported a net loss for the first quarter of 2024 of $(1.0) million, or ($0.10) per diluted share, compared to net income of $3.1 million, or
      $0.31 per diluted share, for the first quarter of 2023.</div>

    <div style="text-align: left;"><br/>
    </div>

    <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
      <div style="width: 100%;" class="BRPFPageFooter"></div>

      <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">21</span></div>

      <div style="page-break-after: always;" class="BRPFPageBreak">
        <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

      <div style="width: 100%;" class="BRPFPageHeader">
        <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
        </div>

      </div>

    </div>

    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><span style="text-decoration: underline;">Liquidity and Capital Resources</span></div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Cash Flow</div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">For the first three months of 2024, our cash and cash equivalents balance decreased $1.7 million from December 31, 2023. We ended the first quarter of 2024
      with $10.6 million in cash and cash equivalents, of which $0.5 million was held by our U.K. subsidiary.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Operating activities</span>:&#160; The following significant
      factors affected our cash used in operating activities of $1.5 million for the first three months of 2024 as compared to cash used in operating activities of $0.8 million for the first three months of 2023:</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the first three months of 2024:</div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We reported a net loss of $1.0 million.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recorded depreciation and amortization of $0.4 million and share-based compensation expense of $0.3 million.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inventories increased $1.4 million consistent with the slowdown in sales as discussed in our Results of Operations above.&#160; We expect our
                inventories to decline, particularly during the second half&#160; of 2024, as we reduce our ordering levels and sell through our inventories on hand.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable decreased $2.0 million due to the continued collections of sales combined with the slowdown in sales as discussed in our
                Results of Operations above.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accrued and other liabilities decreased $1.0 million due largely to the payout of 2023 bonuses in the first quarter of 2024.</div>
            </td>

  </tr>


</table>
    </div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the first three months of 2023:</div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We reported net income of $3.1 million.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We recorded depreciation and amortization of $0.4 million, and share-based compensation expense of $0.3 million.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Deferred tax assets were down $0.5 million due to pre-tax income being recognized in the first quarter of 2023.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts receivable increased $3.0 million in 2023 due primarily to increased sales.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Employee retention credit receivable decreased $1.5 million due to the collection of this receivable in the first quarter of 2023.</div>
            </td>

  </tr>


</table>
    </div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
              <div style="text-align: left; margin-left: 18pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#8226;</div>
            </td>

    <td style="width: auto; vertical-align: top;">
              <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Accounts payable declined $2.8 million in 2023 due largely to the sell through of inventory on-hand at the end of 2022 as well as the timing of
                vendor payments.</div>
            </td>

  </tr>


</table>
    </div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Investing activities:</span>&#160; Our capital expenditures
      were $106 thousand for the first three months of 2024 compared to $378 thousand for the first three months of 2023.&#160; Expenditures for both periods were primarily for computer and networking equipment and new tooling equipment.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;">Financing activities:</span>&#160; Financing activities used
      $71 thousand of cash during the first three months of 2024 and used $86 thousand in cash during the first three months of 2023.&#160; These amounts relate to cash used to pay withholding taxes on stock issued from our stock compensation plans.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Resource Sufficiency</div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We have been impacted by global supply chain issues, increased shipping costs, increased interest rates and inflationary pressures.&#160; Our operating results
      and operating cash flow improved significantly during 2023 due largely to certain competitors&#8217; inability to supply products in both the POS automation and casino and gaming markets.&#160; Our customers also began to slow their order rates for the first
      quarter of 2024 due to higher-than-normal inventory levels.&#160; We expect this to continue to negatively impact our sales during 2024.&#160; Nevertheless, given the continued uncertainty related to the demand slowdown and pricing pressure on the food service
      and casino industries, including the loss of a major customer described above, we continue to monitor our cash generation, usage and preservation including the management of working capital to generate cash.</div>

    <div><br/>
    </div>

  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">22</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <!--PROfilePageNumberReset%Num%21%%%-->
  <div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">We believe that our cash and cash equivalents on hand, our expected cash flows generated from operating activities, and borrowings available under our
      credit facility (the &#8220;Siena Credit Facility&#8221;) will provide sufficient resources to meet our working capital needs, finance our capital expenditures and meet our liquidity requirements through at least the next twelve months.&#160; Notwithstanding this
      belief, the duration and extent of current global economic pressures and conditions in our markets remain uncertain and their ultimate impact is unknown.</div>

    <div><br/>
    </div>

    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Credit Facility and Borrowings</div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On March 13, 2020, we entered into the Loan and Security Agreement governing the Siena Credit Facility with Siena Lending Group LLC (the &#8220;Lender&#8221;).&#160; The
      Siena Credit Facility provides for a revolving credit line of up to $10.0 million and was originally scheduled to expire on March 13, 2023, prior to being extended, as discussed below. 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%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $245 thousand
      which were reported as &#8220;Other current assets&#8221; and &#8220;Other assets&#8221; in non-current assets in the Condensed Consolidated Balance Sheets. We also pay a fee of 0.50% on unused borrowings under the Siena Credit Facility. Borrowings under the Siena Credit
      Facility are secured by a lien on substantially all the assets of the Company. Borrowings under the Siena Credit Facility are subject to a borrowing base based on 85% of eligible accounts receivable plus the lesser of (a) $5.0 million and (b) 50% of
      eligible raw material and 60% of finished goods inventory.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur additional indebtedness and
      create other liens. On July 21, 2021, the Company entered into an amendment (&#8220;Siena Credit Facility Amendment No. 1&#8221;) to the Siena Credit Facility. Siena Credit Facility Amendment No. 1 changed the financial covenant under the Siena Credit Facility
      from a minimum EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750 thousand under the Siena Credit Facility, tested as of the end of each calendar month, beginning with the
      calendar month ended July 31, 2021. From July 31, 2021 through March 31, 2024, we remained in compliance with our excess availability covenant.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On July 19, 2022, the Company and the Lender entered into Amendment No. 2 (&#8220;Siena Credit Facility Amendment No. 2&#8221;) to the Siena Credit Facility as amended
      by Siena Credit Facility Amendment No. 1. Also on July 19, 2022, the Company and the Lender entered into an Amended and Restated Fee Letter (the &#8220;Amended Fee Letter&#8221;) in connection with Siena Credit Facility Amendment No. 2. Siena Credit Facility
      Amendment No. 2 did not modify the aggregate amount of the revolving commitment or the interest rate applicable to the loans.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The changes to the Siena Credit Facility provided for in Siena Credit Facility Amendment No. 2 included, among other things, the following:</div>

  </div>

  <div>
<div><br/></div>

    <div>
      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(i)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The extension of the maturity date from March 13, 2023 to March 13, 2025; and</div>
            </td>

  </tr>


</table>
      <div><br/>
      </div>

      <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt;"><br/>
            </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(ii)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
              <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The termination of the existing blocked account control agreement and entry into a new &#8220;springing&#8221; deposit account control agreement, permitting the Company to direct
                the use of funds in its deposit account until such time as (a) the sum of excess availability under the Siena Credit Facility as amended and unrestricted cash is less than $5 million for 3 consecutive business days or (b) an event of
                default occurs and is continuing.</div>
            </td>

  </tr>


</table>
    </div>

    <div style="text-align: justify;"><br/>
      In addition, the Amended Fee Letter requires the Company, while it retains the ability to direct the use of funds in the deposit account, to maintain outstanding borrowings of at least $2,250,000 in principal amount. If the Company does not have the
      ability to direct the use of funds in the deposit account, then the Amended Fee Letter requires the Company to pay interest on at least $2,250,000 principal amount of loans, whether or not such amount of loans is actually outstanding. As stated
      above, we continue to monitor our cash generation, usage and preservation including the management of working capital to generate cash and continue to evaluate any alternative sources of funding as necessary, including the possible extension of our
      line of credit under the Siena Credit Facility.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">On May 1, 2023, the Company and the Lender agreed to a letter amendment to the Loan and Security Agreement governing the Siena Credit Facility. Prior to
      such amendment, section 7.1(m) of the Loan and Security Agreement governing the Siena Credit Facility required that any successor to the Company&#8217;s former Chief Executive Officer be reasonably acceptable to the Lender.&#160; This amendment confirmed that
      Mr. Dillon, the Company&#8217;s current Chief Executive Officer, is an acceptable successor and applied the same requirement to any future successor to Mr. Dillon as Chief Executive Officer.</div>

    <div><br/>
    </div>

    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">As of March 31, 2024, we had $2.3 million of outstanding borrowings under the Siena Credit Facility and $3.0 million of net borrowing capacity available
      under the Siena Credit Facility.</div>

  </div>

  <div style="text-align: left;"><br/>
  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">23</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="margin: 4px 0px; width: 100%; border-width: 0; height: 2px; color: #000000; background-color: #000000; clear: both;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <!--PROfilePageNumberReset%Num%23%%%-->
  <a id="Item3"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">Item 3.</span></td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">TransAct is a smaller reporting company, as defined in Item 10(f)(1) of Regulation S-K, and is not required to provide information under this item.</div>

  </div>

  <div><br/>
  </div>

  <a id="Item4"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top;"><span style="font-size: 10pt; font-family: 'Times New Roman'; font-weight: bold;">Item 4.</span></td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">CONTROLS AND PROCEDURES</div>
        </td>

  </tr>


</table>
  <div style="text-align: left;"><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Evaluation of Disclosure Controls and Procedures</div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Our management, with the participation of our Chief Executive Officer and Chief Financial Officer (our principal executive officer and principal financial
    officer, respectively), evaluated the effectiveness of our disclosure controls and procedures as of March 31, 2024.&#160; The term &#8220;disclosure controls and procedures,&#8221; as defined in Rules 13a-15(e) and 15d-15(e) of the Securities Exchange Act of 1934, as
    amended (the &#8220;Exchange Act&#8221;), means controls and other procedures of a company that are designed to ensure that information required to be disclosed by a company in the reports that it files or submits under the Exchange Act is recorded, processed,
    summarized and reported within the time periods specified in the Securities and Exchange Commission&#8217;s rules and forms.&#160; Disclosure controls and procedures include, without limitation, controls and procedures designed to ensure that information required
    to be disclosed by a company in the reports that it files or submits under the Exchange Act is accumulated and communicated to the company&#8217;s management, including its principal executive and principal financial officers, as appropriate to allow timely
    decisions regarding required disclosure.&#160; Management recognizes that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving their objectives, and management necessarily applies its
    judgment in evaluating the cost-benefit relationship of possible controls and procedures.&#160; Based on the evaluation of our disclosure controls and procedures as of March 31, 2024, our Chief Executive Officer and Chief Financial Officer concluded that,
    as of such date, our disclosure controls and procedures were effective at the reasonable assurance level.</div>

  <div><br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic; font-weight: bold;">Changes in Internal Control Over Financial Reporting</div>

  <div style="text-align: justify; margin-top: 3pt; margin-bottom: 3pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">No change in our internal control over financial reporting (as defined in Rules 13a-15(f) and 15d-15(f) under the
    Exchange Act) occurred during the fiscal quarter ended March 31, 2024 that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.</div>

  <div style="text-align: justify; margin-top: 3pt; margin-bottom: 3pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
  </div>

  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">PART II<a id="PARTII"><!--Anchor--></a>.&#160; OTHER INFORMATION</div>

  <div style="text-align: left;"><br/>
  </div>

  <a id="LEGAL"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Item 1.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">LEGAL PROCEEDINGS</div>
        </td>

  </tr>


</table>
  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Company may, in the ordinary course of business, become a party to litigation involving collection matters, contract claims and other legal proceedings
      relating to the conduct of its business.&#160; As of March 31, 2024, we are unaware of any material pending legal proceedings, or of any material legal proceedings contemplated by government authorities.</div>

  </div>

  <div><br/>
  </div>

  <a id="RISKFACTORS"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Item 1A.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">RISK FACTORS</div>
        </td>

  </tr>


</table>
  <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Information regarding risk factors appears under Part I, Item 1A, &#8220;Risk Factors,&#8221; of our 2023 Form 10-K.&#160; There have been no material changes from the risk
      factors previously disclosed in our 2023 Form 10-K. The risks factors described in our 2023 Form 10-K are not the only risks facing our Company.&#160; Additional risks and uncertainties, not currently known to us or that we currently deem to be
      immaterial, also may materially adversely affect our business, financial condition or future results.</div>

  </div>

  <div><br/>
  </div>

  <a id="UNREGISTEREDSALES"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Item 2.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</div>
        </td>

  </tr>


</table>
  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">None.</div>

  <div><br/>
  </div>

  <a id="DEFAULTS"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Item 3.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">DEFAULTS UPON SENIOR SECURITIES</div>
        </td>

  </tr>


</table>
  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">None.</div>

  <div><br/>
  </div>

  <a id="MINESAFETY"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Item 4.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">MINE SAFETY DISCLOSURES</div>
        </td>

  </tr>


</table>
  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Not applicable.</div>

  <div style="text-align: left;"><br/>
  </div>

  <a id="OTHERINFORMATION"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Item 5.</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">OTHER INFORMATION</div>
        </td>

  </tr>


</table>
  <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
          </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">a)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">None</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
          </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">b)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">None</div>
          </td>

  </tr>


</table>
    <table cellspacing="0" cellpadding="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 18pt;"><br/>
          </td>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">c)</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">During the three months ended March 31, 2024, no director or officer of the Company <ix:nonNumeric name="ecd:NonRule10b51ArrAdoptedFlag" id="Fact_9d820046d1414f1f816833c2f47d3176" contextRef="c20240101to20240331" format="ixt:fixed-false"><ix:nonNumeric name="ecd:Rule10b51ArrAdoptedFlag" id="Fact_587d81b6d883467dabc2323d67e05dc5" contextRef="c20240101to20240331" format="ixt:fixed-false">adopted</ix:nonNumeric></ix:nonNumeric> or <ix:nonNumeric name="ecd:Rule10b51ArrTrmntdFlag" id="Fact_da9f46453fd24a1c81ef5e881c5b82a2" contextRef="c20240101to20240331" format="ixt:fixed-false"><ix:nonNumeric name="ecd:NonRule10b51ArrTrmntdFlag" id="Fact_9541db862fd149caa1633b59d87e6f1d" contextRef="c20240101to20240331" format="ixt:fixed-false">terminated</ix:nonNumeric></ix:nonNumeric> a &#8220;Rule 10b5-1 trading arrangement&#8221; or a &#8220;non-Rule 10b5-1 trading
              arrangement,&#8221; as each term is defined it Item 408(a) of Regulation S-K.</div>
          </td>

  </tr>


</table>
  </div>

  <div><br/>
  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">24</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <a id="EXHIBITS"><!--Anchor--></a>
<table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 54pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Item 6.</td>

    <td style="width: auto; vertical-align: top; text-align: justify;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">EXHIBITS</div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div>
    <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 9.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000114036122030288/exhibit3-2.htm">3.1</a></div>
          </td>

    <td style="width: 1.67%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 89.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certificate of Incorporation of TransAct Technologies Incorporated (conformed copy) (incorporated by reference to Exhibit 3.2 of the Company&#8217;s
              Quarterly Report on Form 10-Q (SEC File No. 000-21121) filed with the SEC on August 18, 2022).</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top;">
            <div><a style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;" href="https://www.sec.gov/Archives/edgar/data/1017303/000114036123014061/ex3_2.htm">3.2</a> <br/>
            </div>
          </td>

    <td style="width: 1.67%; vertical-align: top;">&#160;</td>

    <td style="width: 89.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Amended and Restated By-laws of TransAct Technologies Incorporated (incorporated by reference to Exhibit 3.2 of the Company&#8217;s Annual Report on Form
              10-K (SEC File No. 000-21121) filed with the SEC on March 28, 2023).</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"><a href="ef20027082_ex31-1.htm"><span style="text-decoration: underline;">31.1</span></a> *</span></div>
          </td>

    <td style="width: 1.67%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 89.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certification of Chief Executive Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"><a href="ef20027082_ex31-2.htm"><span style="text-decoration: underline;">31.2</span></a> *</span></div>
          </td>

    <td style="width: 1.67%; vertical-align: top;">&#160;</td>

    <td style="width: 89.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certification of Chief Financial Officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"><a href="ef20027082_ex32-1.htm"><span style="text-decoration: underline;">32.1</span></a> **</span></div>
          </td>

    <td style="width: 1.67%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 89.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Certification pursuant to 18 U.S.C. Section 1350 as adopted pursuant to section 906 of the Sarbanes-Oxley Act of 2002.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.INS</div>
          </td>

    <td style="width: 1.67%; vertical-align: top;">&#160;</td>

    <td style="width: 89.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Instance Document <span style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;">(the instance document does not appear
                in the Interactive Data File because its XBRL tags are embedded within the Inline XBRL document).</span></div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.SCH</div>
          </td>

    <td style="width: 1.67%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 89.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Schema Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.CAL</div>
          </td>

    <td style="width: 1.67%; vertical-align: top;">&#160;</td>

    <td style="width: 89.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Calculation Linkbase Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.DEF</div>
          </td>

    <td style="width: 1.67%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 89.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Definition Linkbase Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.LAB</div>
          </td>

    <td style="width: 1.67%; vertical-align: top;">&#160;</td>

    <td style="width: 89.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Label Linkbase Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">101.PRE</div>
          </td>

    <td style="width: 1.67%; vertical-align: top; background-color: rgb(204, 238, 255);">&#160;</td>

    <td style="width: 89.17%; vertical-align: top; background-color: rgb(204, 238, 255);">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Inline XBRL Taxonomy Extension Presentation Linkbase Document.</div>
          </td>

  </tr>

  <tr>

    <td style="width: 9.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">104</div>
          </td>

    <td style="width: 1.67%; vertical-align: top;">&#160;</td>

    <td style="width: 89.17%; vertical-align: top;">
            <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101).</div>
          </td>

  </tr>


</table>
    <div><br/></div>

  </div>

  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;">*</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt;">Filed herewith.</div>
        </td>

  </tr>


</table>
  <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;" class="DSPFListTable">


  <tr>

    <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman'; font-size: 10pt;">**</td>

    <td style="width: auto; vertical-align: top; text-align: left;">
          <div style="font-family: 'Times New Roman'; font-size: 10pt;">Furnished herewith.</div>
        </td>

  </tr>


</table>
  <div><br/>
  </div>

  <div style="clear: both; margin-top: 10pt; margin-bottom: 10pt;" class="BRPFPageBreakArea">
    <div style="width: 100%;" class="BRPFPageFooter"></div>

    <div style="text-align: center;" class="BRPFPageNumberArea"><span style="font-family: 'Times New Roman', Times, serif; font-size: 8pt; font-weight: normal; font-style: normal;">25</span></div>

    <div style="page-break-after: always;" class="BRPFPageBreak">
      <hr style="border-width: 0px; clear: both; margin: 4px 0px; width: 100%; height: 2px; color: #000000; background-color: #000000;"/></div>

    <div style="width: 100%;" class="BRPFPageHeader">
      <div style="color: #000000;"><span style="font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 8pt; font-style: italic; font-variant: normal; text-transform: none;"><a href="#INDEX">Index</a></span><br/>
      </div>

    </div>

  </div>

  <div style="width: 100%;" class="BRPFPageFooter"></div>

</div>
<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; ">

    <div style="text-align: left;">
      <div style="text-align: center; font-weight: bold;"><a id="SIGNATURES"><!--Anchor--></a><span style="text-decoration: underline;">SIGNATURES</span></div>

      <div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"> <br/>
      </div>

      <div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
        <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Pursuant to the requirements of the Securities Exchange Act of 1934, the registrant has duly caused this report to be signed on its behalf by the
          undersigned thereunto duly authorized.</div>

        <div style="text-align: left;"><br/>
        </div>

        <table cellspacing="0" cellpadding="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">


  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">TRANSACT TECHNOLOGIES INCORPORATED</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(Registrant)</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top; border-bottom: #000000 2px solid;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">By: /s/ Steven A. DeMartino</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Dated: May 14, 2024</div>
              </td>

    <td style="width: 50%; vertical-align: top; border-top: #000000 2px solid;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;Steven A. DeMartino</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;President, Chief Financial Officer, Treasurer and Secretary</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;(Principal Financial Officer)</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top; border-bottom: #000000 2px solid;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">By: /s/ William J. DeFrances</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">
                <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Dated: May 14, 2024</div>
              </td>

    <td style="width: 50%; vertical-align: top; border-top: #000000 2px solid;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;William J. DeFrances</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;Vice President and Chief Accounting Officer</div>
              </td>

  </tr>

  <tr>

    <td style="width: 50%; vertical-align: top;">&#160;</td>

    <td style="width: 50%; vertical-align: top;">
                <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">&#160;&#160;&#160;&#160;&#160;(Principal Accounting Officer)</div>
              </td>

  </tr>


</table>
        <div style="text-align: left;"><br/>
        </div>

        <div style="text-align: left;"><br/>
        </div>

        <div style="text-align: center;"><span style="font-size: 8pt;">26</span><br/>
        </div>

      </div>

      <div style="text-align: justify; color: #000000; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
        <hr style="height: 2px; color: #000000; background-color: #000000; text-align: center; border: none; margin-left: auto; margin-right: auto;"/> </div>

    </div>


  </div>
</body>
</html>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>ef20027082_ex31-1.htm
<DESCRIPTION>CERTIFICATION OF CEO PURSUANT TO SECTION 302 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
  <div id="TRGRSegment:f6ed59f4-cff4-4e1f-ac46-2e4163e8e5aa">
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">
      <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none"></div>
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibit 31.1</div>
    <div><br>
    </div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><u>CERTIFICATION OF CHIEF EXECUTIVE OFFICER PURSUANT TO SECTION 302 OF THE</u></div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><u>SARBANES-OXLEY ACT OF 2002</u></div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I, John M. Dillon, certify that:</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z4b366113512e4604996f912f1d9affd9" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I have reviewed this quarterly report on Form 10-Q of TransAct Technologies Incorporated;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z713603a7962a4621a1915a997be06def" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in
              light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="ze05e6a1a75d64c3e8e9912dedf62b48e" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial
              condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z1565c7b2630c42a2a6d9f29d3b89d9d3" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules
              13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z8d3272ac941e41ddae37c7b4d10c8149" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material
              information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zd74ce7cbc4154dd7950a4860a53eeb32" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide
              reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z855657451b274659a521e804988de00d" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(c)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the
              disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="za2fbad3e9dbb43baa2204958a4b0823c" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(d)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the
              registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z67423bf664c747c6b77313b5b11c2357" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's
              auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z42a5837ef4ca481fb8ccb0d3180be473" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely
              affect the registrant's ability to record, process, summarize and report financial information; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z58a001ae3492446b91807bfa7eb915fe" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial
              reporting.</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date: May 14, 2024</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zdb8e75ea661343e7add0b0d46dd0fbd9" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 40.08%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ John M. Dillon</div>
          </td>
          <td style="width: 59.92%; vertical-align: top;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 40.08%; vertical-align: top; border-top: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">John M. Dillon</div>
          </td>
          <td style="width: 59.92%; vertical-align: top;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 40.08%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Executive Officer</div>
          </td>
          <td style="width: 59.92%; vertical-align: top;">&#160;</td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none"></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.2
<SEQUENCE>3
<FILENAME>ef20027082_ex31-2.htm
<DESCRIPTION>CERTIFICATION OF CFO PURSUANT TO SECTION 302 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
  <div id="TRGRSegment:e9c8d55b-65f1-44dd-98ac-763b5baf96a4">
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">
      <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none"></div>
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibit 31.2</div>
    <div><br>
    </div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><u>CERTIFICATION OF CHIEF FINANCIAL OFFICER PURSUANT TO SECTION 302 OF THE</u></div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"><u>SARBANES-OXLEY ACT OF 2002</u></div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I, Steven A. DeMartino, certify that:</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z6353e6aa87894a3a807882e9690ef043" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">1.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">I have reviewed this quarterly report on Form 10-Q of TransAct Technologies Incorporated;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zeb06db6b69db482386238aec8da1f46b" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">2.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in
              light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z11bfd9838f6b46d69d52740c73cf7ab9" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">3.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial
              condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zfdd709a0702c4a55a76326aba6637955" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">4.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant&#8217;s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules
              13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="za28ade8dafa84bce831122de7cb1a463" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material
              information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z06ef3307d70f4564bc9075c1c3736431" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide
              reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z8415fed25b5a4638a498b8c57ee584d9" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(c)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Evaluated the effectiveness of the registrant&#8217;s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the
              disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z6e36195f523b497abd4a518f48a43679" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(d)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Disclosed in this report any change in the registrant&#8217;s internal control over financial reporting that occurred during the registrant&#8217;s most recent fiscal quarter (the
              registrant's fourth fiscal quarter in the case of an annual report) that has materially affected, or is reasonably likely to materially affect, the registrant&#8217;s internal control over financial reporting; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z7a4a3dddc5b847d0b7c76efdc549268a" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 18pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">5.</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The registrant's other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant's
              auditors and the audit committee of the registrant's board of directors (or persons performing the equivalent functions):</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zab4f3664fa584ca3b35af6bd4298c3c8" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(a)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely
              affect the registrant's ability to record, process, summarize and report financial information; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z1f1a4f3416134e879099250ff9bf420a" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 54pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(b)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant's internal control over financial
              reporting.</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date: May 14, 2024</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zca615084c02b4adc985e607fab8cf4e2" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 39.8%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Steven A. DeMartino</div>
          </td>
          <td style="width: 60.2%; vertical-align: top;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 39.8%; vertical-align: top; border-top: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino</div>
          </td>
          <td style="width: 60.2%; vertical-align: top;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 39.8%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
          </td>
          <td style="width: 60.2%; vertical-align: top;">&#160;</td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none"></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-32.1
<SEQUENCE>4
<FILENAME>ef20027082_ex32-1.htm
<DESCRIPTION>CERTIFICATION OF CEO AND CFO PURSUANT TO SECTION 906 OF SOX ACT OF 2002
<TEXT>
<html>
  <head>
    <title>&#160;</title>
    <!-- Licensed to: Broadridge Financial Solutions, Inc.
         Document created using Broadridge PROfile 24.3.1.5224
         Copyright 1995 - 2024 Broadridge -->
  </head>
<body style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">
  <div id="TRGRSegment:2e53db88-c89a-4eb8-8e65-3f16c8cbfcc9">
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">
      <hr noshade="noshade" align="center" style="height: 4px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none"></div>
    <div style="text-align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">Exhibit 32.1</div>
    <div><br>
    </div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">CERTIFICATION PURSUANT TO</div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">18 U.S.C. SECTION 1350</div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">AS ADOPTED PURSUANT TO</div>
    <div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;">SECTION 906 OF THE SARBANES-OXLEY ACT OF 2002</div>
    <div><br>
    </div>
    <div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">In connection with the Quarterly Report of TransAct Technologies Incorporated (the &#8220;Company&#8221;) on Form 10-Q for the period ended March 31, 2024, as filed
      with the Securities and Exchange Commission on the date hereof (the &#8220;Report&#8221;), each of the undersigned officers of the Company certifies, pursuant to 18 U.S.C. &#167; 1350, as adopted pursuant to &#167; 906 of the Sarbanes-Oxley Act of 2002, that to the best
      of his knowledge:</div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z4394d1376fae4bde9a7f4486dc2ebf1a" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 27.1pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(1)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The Report fully complies with the requirements of Section 13(a) or 15(d) of the Securities Exchange Act of 1934; and</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="zc1c80320618340ab81d120343a082baf" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; text-align: left; color: #000000;">

        <tr>
          <td style="width: 27.1pt;"></td>
          <td style="width: 18pt; vertical-align: top; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">(2)</td>
          <td style="width: auto; vertical-align: top; text-align: justify;">
            <div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;">The information contained in the Report fairly presents, in all material respects, the financial condition and results of operations of the Company.</div>
          </td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date:&#160; May 14, 2024</div>
    <div><br>
    </div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z8818ce46c0414ac696897095085c032f" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 39.94%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ John M. Dillon</div>
          </td>
          <td style="width: 60.06%; vertical-align: top;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 39.94%; vertical-align: top; border-top: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">John M. Dillon</div>
          </td>
          <td style="width: 60.06%; vertical-align: top;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 39.94%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Chief Executive Officer</div>
          </td>
          <td style="width: 60.06%; vertical-align: top;">&#160;</td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Date:&#160; May 14, 2024</div>
    <div><br>
    </div>
    <div><br>
    </div>
    <table cellspacing="0" cellpadding="0" id="z208cb2e4bf3b4fa5bbddd0a053db4074" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; width: 100%; border-collapse: collapse; text-align: left; color: #000000;">

        <tr>
          <td style="width: 39.94%; vertical-align: top; border-bottom: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">/s/ Steven A. DeMartino</div>
          </td>
          <td style="width: 60.06%; vertical-align: top;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 39.94%; vertical-align: top; border-top: #000000 2px solid;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">Steven A. DeMartino</div>
          </td>
          <td style="width: 60.06%; vertical-align: top;">&#160;</td>
        </tr>
        <tr>
          <td style="width: 39.94%; vertical-align: top;">
            <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;">President, Chief Financial Officer, Treasurer and Secretary</div>
          </td>
          <td style="width: 60.06%; vertical-align: top;">&#160;</td>
        </tr>

    </table>
    <div><br>
    </div>
    <div><br>
    </div>
    <div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 12pt;">
      <hr noshade="noshade" align="center" style="height: 2px; color: #000000; background-color: #000000; text-align: center; margin-left: auto; margin-right: auto; border: none"></div>
  </div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>5
<FILENAME>tact-20240331.xsd
<DESCRIPTION>XBRL TAXONOMY EXTENSION SCHEMA
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<xs:schema targetNamespace="http://transact-tech.com/20240331" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tact="http://transact-tech.com/20240331" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:dei="http://xbrl.sec.gov/dei/2023" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2022-03-31" xmlns:us-types="http://fasb.org/us-types/2023" xmlns:srt-types="http://fasb.org/srt-types/2023">
  <xs:annotation>
    <xs:appinfo>
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20240331_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20240331_cal.xml" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20240331_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:linkbaseRef xlink:type="simple" xlink:href="tact-20240331_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" />
      <link:roleType roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" id="DocumentAndEntityInformation">
        <link:definition>000100 - Document - Document and Entity Information</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/CondensedConsolidatedBalanceSheets" id="CondensedConsolidatedBalanceSheets">
        <link:definition>010000 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical" id="CondensedConsolidatedBalanceSheetsParenthetical">
        <!--Parent Role: CONDENSED CONSOLIDATED BALANCE SHEETS-->
        <link:definition>010100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations" id="CondensedConsolidatedStatementsOfOperations">
        <link:definition>020000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome" id="CondensedConsolidatedStatementsOfComprehensiveLossIncome">
        <link:definition>030000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows" id="CondensedConsolidatedStatementsOfCashFlows">
        <link:definition>040000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity" id="CondensedConsolidatedStatementsOfChangesInShareholdersEquity">
        <link:definition>050000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/BasisOfPresentation" id="BasisOfPresentation">
        <link:definition>060100 - Disclosure - Basis of presentation</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SignificantAccountingPolicies" id="SignificantAccountingPolicies">
        <link:definition>060200 - Disclosure - Significant accounting policies</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/Revenue" id="Revenue">
        <link:definition>060300 - Disclosure - Revenue</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/Inventories" id="Inventories">
        <link:definition>060400 - Disclosure - Inventories</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/Borrowings" id="Borrowings">
        <link:definition>060500 - Disclosure - Borrowings</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/EarningsPerShare" id="EarningsPerShare">
        <link:definition>060600 - Disclosure - Earnings per share</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/Leases" id="Leases">
        <link:definition>060700 - Disclosure - Leases</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxes" id="IncomeTaxes">
        <link:definition>060800 - Disclosure - Income taxes</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SubsequentEvents" id="SubsequentEvents">
        <link:definition>060900 - Disclosure - Subsequent events</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/InsiderTradingArrangements" id="InsiderTradingArrangements">
        <link:definition>061000 - Disclosure - Insider Trading Arrangements</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/BasisOfPresentationPolicies" id="BasisOfPresentationPolicies">
        <!--Parent Role: Basis of presentation-->
        <link:definition>070100 - Disclosure - Basis of presentation (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/SignificantAccountingPoliciesPolicies" id="SignificantAccountingPoliciesPolicies">
        <!--Parent Role: Significant accounting policies-->
        <link:definition>070200 - Disclosure - Significant Accounting Policies (Policies)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/RevenueTables" id="RevenueTables">
        <!--Parent Role: Revenue-->
        <link:definition>080300 - Disclosure - Revenue (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/InventoriesTables" id="InventoriesTables">
        <!--Parent Role: Inventories-->
        <link:definition>080400 - Disclosure - Inventories (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/EarningsPerShareTables" id="EarningsPerShareTables">
        <!--Parent Role: Earnings per share-->
        <link:definition>080600 - Disclosure - Earnings per share (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/LeasesTables" id="LeasesTables">
        <!--Parent Role: Leases-->
        <link:definition>080700 - Disclosure - Leases (Tables)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/BasisOfPresentationDetails" id="BasisOfPresentationDetails">
        <!--Parent Role: Basis of presentation-->
        <link:definition>090100 - Disclosure - Basis of presentation (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails" id="RevenueDisaggregationOfRevenueDetails">
        <!--Parent Role: Revenue-->
        <link:definition>090300 - Disclosure - Revenue, Disaggregation of Revenue (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/RevenueContractBalancesDetails" id="RevenueContractBalancesDetails">
        <!--Parent Role: Revenue-->
        <link:definition>090302 - Disclosure - Revenue, Contract Balances (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails" id="RevenueRemainingPerformanceObligationsDetails">
        <!--Parent Role: Revenue-->
        <link:definition>090304 - Disclosure - Revenue, Remaining Performance Obligations (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetailsDefault" id="RevenueRemainingPerformanceObligationsDetailsDefault">
        <link:definition>090304 - Disclosure - Revenue, Remaining Performance Obligations (Details)Default</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/InventoriesDetails" id="InventoriesDetails">
        <!--Parent Role: Inventories-->
        <link:definition>090400 - Disclosure - Inventories (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/BorrowingsDetails" id="BorrowingsDetails">
        <!--Parent Role: Borrowings-->
        <link:definition>090500 - Disclosure - Borrowings (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/EarningsPerShareDetails" id="EarningsPerShareDetails">
        <!--Parent Role: Earnings per share-->
        <link:definition>090600 - Disclosure - Earnings per share (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/LeasesDetails" id="LeasesDetails">
        <!--Parent Role: Leases-->
        <link:definition>090700 - Disclosure - Leases (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" id="LeasesDetailsCalc2">
        <!--Parent Role: Leases (Details)-->
        <link:definition>090702 - Disclosure - Leases (Details) Calc 2</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
      <link:roleType roleURI="http://transact-tech.com/role/IncomeTaxesDetails" id="IncomeTaxesDetails">
        <!--Parent Role: Income taxes-->
        <link:definition>090800 - Disclosure - Income taxes (Details)</link:definition>
        <link:usedOn>link:presentationLink</link:usedOn>
        <link:usedOn>link:calculationLink</link:usedOn>
        <link:usedOn>link:definitionLink</link:usedOn>
      </link:roleType>
    </xs:appinfo>
  </xs:annotation>
  <xs:import namespace="http://fasb.org/us-gaap/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/dei/2023" schemaLocation="https://xbrl.sec.gov/dei/2023/dei-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/country/2023" schemaLocation="https://xbrl.sec.gov/country/2023/country-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/currency/2023" schemaLocation="https://xbrl.sec.gov/currency/2023/currency-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/exch/2023" schemaLocation="https://xbrl.sec.gov/exch/2023/exch-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/naics/2023" schemaLocation="https://xbrl.sec.gov/naics/2023/naics-2023.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/sic/2023" schemaLocation="https://xbrl.sec.gov/sic/2023/sic-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/role/net" schemaLocation="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/stpr/2023" schemaLocation="https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd" />
  <xs:import namespace="http://www.xbrl.org/2004/ref" schemaLocation="http://www.xbrl.org/2004/ref-2004-08-10.xsd" />
  <xs:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd" />
  <xs:import namespace="http://fasb.org/us-types/2023" schemaLocation="https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/2009/arcrole/fact-explanatoryFact" schemaLocation="http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd" />
  <xs:import namespace="http://fasb.org/srt/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd" />
  <xs:import namespace="http://fasb.org/srt-types/2023" schemaLocation="https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd" />
  <xs:import namespace="http://www.xbrl.org/dtr/type/2022-03-31" schemaLocation="https://www.xbrl.org/dtr/type/2022-03-31/types.xsd" />
  <xs:import namespace="http://xbrl.sec.gov/ecd/2023" schemaLocation="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd" />
  <xs:element name="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="CurrentBusinessTrendsDisclosureTable" id="tact_CurrentBusinessTrendsDisclosureTable" type="xbrli:stringItemType" substitutionGroup="xbrldt:hypercubeItem" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="CurrentBusinessTrendsLineItems" id="tact_CurrentBusinessTrendsLineItems" type="xbrli:stringItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="InternationalMember" id="tact_InternationalMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="PosAutomationAndBankingMember" id="tact_PosAutomationAndBankingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="CasinoAndGamingMember" id="tact_CasinoAndGamingMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="FoodServiceTechnologyMember" id="tact_FoodServiceTechnologyMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="TransactServicesGroupMember" id="tact_TransactServicesGroupMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
  <xs:element name="ContractWithCustomerRevenueRecognized" id="tact_ContractWithCustomerRevenueRecognized" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="credit" />
  <xs:element name="ContractWithCustomerAssetLiabilityNet" id="tact_ContractWithCustomerAssetLiabilityNet" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" id="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" id="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" type="xbrli:durationItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" />
  <xs:element name="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" id="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="credit" />
  <xs:element name="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" id="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="instant" xbrli:balance="debit" />
  <xs:element name="DebtInstrumentFinancialCovenantEligibleInventory" id="tact_DebtInstrumentFinancialCovenantEligibleInventory" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" nillable="true" abstract="false" xbrli:periodType="duration" xbrli:balance="debit" />
  <xs:element name="RevolvingCreditFacilitySienaLendingGroupLlcMember" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" abstract="true" xbrli:periodType="duration" />
</xs:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>6
<FILENAME>tact-20240331_cal.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION CALCULATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20240331.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueContractBalancesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfComprehensiveLossIncome" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedBalanceSheets" />
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="calculation: StockholdersEquity to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="calculation: StockholdersEquity to RetainedEarningsAccumulatedDeficit" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="CommonStockValue" xlink:title="calculation: StockholdersEquity to CommonStockValue" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="AdditionalPaidInCapitalCommonStock" xlink:title="calculation: StockholdersEquity to AdditionalPaidInCapitalCommonStock" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="StockholdersEquity" xlink:to="TreasuryStockValue" xlink:title="calculation: StockholdersEquity to TreasuryStockValue" order="5.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="StockholdersEquity" xlink:title="calculation: LiabilitiesAndStockholdersEquity to StockholdersEquity" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="Liabilities" xlink:title="Liabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to OtherLiabilitiesNoncurrent" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to ContractWithCustomerLiabilityNoncurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesNoncurrent" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="calculation: LiabilitiesNoncurrent to OperatingLeaseLiabilityNoncurrent" order="3.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Liabilities" xlink:to="LiabilitiesNoncurrent" xlink:title="calculation: Liabilities to LiabilitiesNoncurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to ContractWithCustomerLiabilityCurrent" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccruedLiabilitiesCurrent" xlink:title="calculation: LiabilitiesCurrent to AccruedLiabilitiesCurrent" order="5.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="AccountsPayableCurrent" xlink:title="calculation: LiabilitiesCurrent to AccountsPayableCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="calculation: LiabilitiesCurrent to OperatingLeaseLiabilityCurrent" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="LinesOfCreditCurrent" xlink:title="LinesOfCreditCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesCurrent" xlink:to="LinesOfCreditCurrent" xlink:title="calculation: LiabilitiesCurrent to LinesOfCreditCurrent" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Liabilities" xlink:to="LiabilitiesCurrent" xlink:title="calculation: Liabilities to LiabilitiesCurrent" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="Liabilities" xlink:title="calculation: LiabilitiesAndStockholdersEquity to Liabilities" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="AccountsReceivableNetCurrent" xlink:title="calculation: AssetsCurrent to AccountsReceivableNetCurrent" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="InventoryNet" xlink:title="calculation: AssetsCurrent to InventoryNet" order="4.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="OtherAssetsCurrent" xlink:title="calculation: AssetsCurrent to OtherAssetsCurrent" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="calculation: AssetsCurrent to CashAndCashEquivalentsAtCarryingValue" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsCurrent" xlink:to="PrepaidTaxes" xlink:title="calculation: AssetsCurrent to PrepaidTaxes" order="3.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="AssetsCurrent" xlink:title="calculation: Assets to AssetsCurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="OtherAssetsNoncurrent" xlink:title="calculation: AssetsNoncurrent to OtherAssetsNoncurrent" order="8.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="calculation: AssetsNoncurrent to DeferredIncomeTaxAssetsNet" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="IntangibleAssetsNetExcludingGoodwill" xlink:title="calculation: AssetsNoncurrent to IntangibleAssetsNetExcludingGoodwill" order="7.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="calculation: AssetsNoncurrent to PropertyPlantAndEquipmentNet" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="Goodwill" xlink:title="Goodwill" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="Goodwill" xlink:title="calculation: AssetsNoncurrent to Goodwill" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="AssetsNoncurrent" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="calculation: AssetsNoncurrent to OperatingLeaseRightOfUseAsset" order="2.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="Assets" xlink:to="AssetsNoncurrent" xlink:title="calculation: Assets to AssetsNoncurrent" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeTaxExpenseBenefit" xlink:title="calculation: NetIncomeLoss to IncomeTaxExpenseBenefit" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="ResearchAndDevelopmentExpense" xlink:title="calculation: OperatingExpenses to ResearchAndDevelopmentExpense" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="SellingAndMarketingExpense" xlink:title="calculation: OperatingExpenses to SellingAndMarketingExpense" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingExpenses" xlink:to="GeneralAndAdministrativeExpense" xlink:title="calculation: OperatingExpenses to GeneralAndAdministrativeExpense" order="3.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="OperatingExpenses" xlink:title="calculation: OperatingIncomeLoss to OperatingExpenses" order="1.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="CostOfRevenue" xlink:title="calculation: GrossProfit to CostOfRevenue" order="1.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="GrossProfit" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="calculation: GrossProfit to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="OperatingIncomeLoss" xlink:to="GrossProfit" xlink:title="calculation: OperatingIncomeLoss to GrossProfit" order="0.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="OperatingIncomeLoss" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to OperatingIncomeLoss" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="calculation: NonoperatingIncomeExpense to OtherNonoperatingIncomeExpense" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="InterestIncomeExpenseNonoperatingNet" xlink:title="InterestIncomeExpenseNonoperatingNet" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NonoperatingIncomeExpense" xlink:to="InterestIncomeExpenseNonoperatingNet" xlink:title="calculation: NonoperatingIncomeExpense to InterestIncomeExpenseNonoperatingNet" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="NonoperatingIncomeExpense" xlink:title="calculation: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to NonoperatingIncomeExpense" order="1.0" weight="1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetIncomeLoss" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="calculation: NetIncomeLoss to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" xlink:title="ComprehensiveIncomeNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="NetIncomeLoss" xlink:title="calculation: ComprehensiveIncomeNetOfTax to NetIncomeLoss" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="calculation: ComprehensiveIncomeNetOfTax to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="ShareBasedCompensation" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to ShareBasedCompensation" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="21.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="DepreciationAndAmortization" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to DepreciationAndAmortization" order="6.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="IncreaseDecreaseInOtherReceivables" xlink:title="IncreaseDecreaseInOtherReceivables" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherReceivables" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherReceivables" order="16.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="ForeignCurrencyTransactionGainLossUnrealized" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to ForeignCurrencyTransactionGainLossUnrealized" order="13.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInInventories" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInInventories" order="17.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="NetIncomeLoss" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to NetIncomeLoss" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsPayable" order="20.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to DeferredIncomeTaxExpenseBenefit" order="9.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInAccountsReceivable" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInAccountsReceivable" order="15.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInOtherOperatingAssets" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInOtherOperatingAssets" order="19.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="IncreaseDecreaseInPrepaidTaxes" xlink:title="calculation: NetCashProvidedByUsedInOperatingActivities to IncreaseDecreaseInPrepaidTaxes" order="2.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInOperatingActivities" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="calculation: NetCashProvidedByUsedInFinancingActivities to PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="7.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInFinancingActivities" order="3.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="calculation: NetCashProvidedByUsedInInvestingActivities to PaymentsToAcquirePropertyPlantAndEquipment" order="5.0" weight="-1.0" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to NetCashProvidedByUsedInInvestingActivities" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="calculation: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="2.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueContractBalancesDetails">
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityCurrent" order="3.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerAssetNetNoncurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerAssetNetNoncurrent" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" order="2.0" weight="-1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerAssetNetCurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerAssetNetCurrent" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="calculation: ContractWithCustomerAssetLiabilityNet to ContractWithCustomerLiabilityNoncurrent" order="4.0" weight="-1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="calculation: InventoryNet to InventoryRawMaterialsAndSuppliesNetOfReserves" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="InventoryNet" xlink:to="InventoryFinishedGoodsNetOfReserves" xlink:title="calculation: InventoryNet to InventoryFinishedGoodsNetOfReserves" order="3.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="calculation: WeightedAverageNumberOfDilutedSharesOutstanding to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="calculation: WeightedAverageNumberOfDilutedSharesOutstanding to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="2.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:title="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" order="0.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="1.0" weight="1.0" />
  </link:calculationLink>
  <link:calculationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="OperatingLeaseLiability" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to OperatingLeaseLiability" order="1.0" weight="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:calculationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="calculation: LesseeOperatingLeaseLiabilityPaymentsDue to LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="0.0" weight="1.0" />
  </link:calculationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.DEF
<SEQUENCE>7
<FILENAME>tact-20240331_def.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION DEFINITION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:t1="http://xbrl.org/2005/xbrldt">
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#IncomeTaxesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20240331.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/BorrowingsDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#BorrowingsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetailsDefault" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueRemainingPerformanceObligationsDetailsDefault" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueRemainingPerformanceObligationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueContractBalancesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueDisaggregationOfRevenueDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/BasisOfPresentationDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#BasisOfPresentationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesTables" xlink:type="simple" xlink:href="tact-20240331.xsd#LeasesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tact-20240331.xsd#EarningsPerShareTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesTables" xlink:type="simple" xlink:href="tact-20240331.xsd#InventoriesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueTables" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tact-20240331.xsd#SignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/BasisOfPresentationPolicies" xlink:type="simple" xlink:href="tact-20240331.xsd#BasisOfPresentationPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/InsiderTradingArrangements" xlink:type="simple" xlink:href="tact-20240331.xsd#InsiderTradingArrangements" />
  <link:roleRef roleURI="http://transact-tech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tact-20240331.xsd#SubsequentEvents" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxes" xlink:type="simple" xlink:href="tact-20240331.xsd#IncomeTaxes" />
  <link:roleRef roleURI="http://transact-tech.com/role/Leases" xlink:type="simple" xlink:href="tact-20240331.xsd#Leases" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tact-20240331.xsd#EarningsPerShare" />
  <link:roleRef roleURI="http://transact-tech.com/role/Borrowings" xlink:type="simple" xlink:href="tact-20240331.xsd#Borrowings" />
  <link:roleRef roleURI="http://transact-tech.com/role/Inventories" xlink:type="simple" xlink:href="tact-20240331.xsd#Inventories" />
  <link:roleRef roleURI="http://transact-tech.com/role/Revenue" xlink:type="simple" xlink:href="tact-20240331.xsd#Revenue" />
  <link:roleRef roleURI="http://transact-tech.com/role/SignificantAccountingPolicies" xlink:type="simple" xlink:href="tact-20240331.xsd#SignificantAccountingPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/BasisOfPresentation" xlink:type="simple" xlink:href="tact-20240331.xsd#BasisOfPresentation" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfChangesInShareholdersEquity" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfComprehensiveLossIncome" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tact-20240331.xsd#DocumentAndEntityInformation" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/all" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#all" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-default" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#dimension-domain" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/domain-member" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#domain-member" />
  <link:arcroleRef arcroleURI="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:type="simple" xlink:href="http://www.xbrl.org/2005/xbrldt-2005.xsd#hypercube-dimension" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DocumentAndEntityInformation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedBalanceSheets" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="definition: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockTransactionsParentheticalDisclosuresAbstract" xlink:label="StockTransactionsParentheticalDisclosuresAbstract" xlink:title="StockTransactionsParentheticalDisclosuresAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockTransactionsParentheticalDisclosuresAbstract" xlink:title="definition: StatementLineItems to StockTransactionsParentheticalDisclosuresAbstract" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodSharesStockOptionsExercised" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="definition: StatementLineItems to SharesPaidForTaxWithholdingForShareBasedCompensation" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockholdersEquity" xlink:title="definition: StatementLineItems to StockholdersEquity" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="definition: StatementLineItems to StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="definition: StatementLineItems to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:label="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="definition: StatementLineItems to StockGrantedDuringPeriodValueSharebasedCompensationForfeited" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="NetIncomeLoss" xlink:title="definition: StatementLineItems to NetIncomeLoss" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="StatementLineItems" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="definition: StatementLineItems to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="StatementLineItems" xlink:to="StatementTable" xlink:title="definition: StatementLineItems to StatementTable" order="11.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="definition: StatementTable to StatementEquityComponentsAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain_2" xlink:title="EquityComponentDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain_2" xlink:title="definition: StatementEquityComponentsAxis to EquityComponentDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="CommonStockMember" xlink:title="definition: EquityComponentDomain to CommonStockMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AdditionalPaidInCapitalMember" xlink:title="definition: EquityComponentDomain to AdditionalPaidInCapitalMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="RetainedEarningsMember" xlink:title="definition: EquityComponentDomain to RetainedEarningsMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="TreasuryStockCommonMember" xlink:title="definition: EquityComponentDomain to TreasuryStockCommonMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="EquityComponentDomain" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="definition: EquityComponentDomain to AccumulatedOtherComprehensiveIncomeMember" order="5.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BasisOfPresentation" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SignificantAccountingPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Revenue" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Inventories" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Borrowings" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShare" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Leases" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxes" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SubsequentEvents" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InsiderTradingArrangements" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BasisOfPresentationPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SignificantAccountingPoliciesPolicies" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesTables" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BasisOfPresentationDetails">
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CurrentBusinessTrendsLineItems" xlink:label="CurrentBusinessTrendsLineItems" xlink:title="CurrentBusinessTrendsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="CurrentBusinessTrendsLineItems" xlink:to="OperatingExpensesAbstract" xlink:title="definition: CurrentBusinessTrendsLineItems to OperatingExpensesAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="CurrentBusinessTrendsLineItems" xlink:to="OperatingExpenses" xlink:title="definition: CurrentBusinessTrendsLineItems to OperatingExpenses" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CurrentBusinessTrendsDisclosureTable" xlink:label="CurrentBusinessTrendsDisclosureTable" xlink:title="CurrentBusinessTrendsDisclosureTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="CurrentBusinessTrendsLineItems" xlink:to="CurrentBusinessTrendsDisclosureTable" xlink:title="definition: CurrentBusinessTrendsLineItems to CurrentBusinessTrendsDisclosureTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="StatementScenarioAxis" xlink:title="StatementScenarioAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="CurrentBusinessTrendsDisclosureTable" xlink:to="StatementScenarioAxis" xlink:title="definition: CurrentBusinessTrendsDisclosureTable to StatementScenarioAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="ScenarioUnspecifiedDomain" xlink:title="ScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementScenarioAxis" xlink:to="ScenarioUnspecifiedDomain" xlink:title="definition: StatementScenarioAxis to ScenarioUnspecifiedDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="ScenarioUnspecifiedDomain_2" xlink:title="ScenarioUnspecifiedDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementScenarioAxis" xlink:to="ScenarioUnspecifiedDomain_2" xlink:title="definition: StatementScenarioAxis to ScenarioUnspecifiedDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="ScenarioForecastMember" xlink:title="ScenarioForecastMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ScenarioUnspecifiedDomain" xlink:to="ScenarioForecastMember" xlink:title="definition: ScenarioUnspecifiedDomain to ScenarioForecastMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="definition: DisaggregationOfRevenueLineItems to RevenueFromContractWithCustomerExcludingAssessedTax" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueTable" xlink:title="definition: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="ProductOrServiceAxis" xlink:title="definition: DisaggregationOfRevenueTable to ProductOrServiceAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain" xlink:title="definition: ProductOrServiceAxis to ProductsAndServicesDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain_2" xlink:title="ProductsAndServicesDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain_2" xlink:title="definition: ProductOrServiceAxis to ProductsAndServicesDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="FoodServiceTechnologyMember" xlink:title="definition: ProductsAndServicesDomain to FoodServiceTechnologyMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="PosAutomationAndBankingMember" xlink:title="definition: ProductsAndServicesDomain to PosAutomationAndBankingMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="CasinoAndGamingMember" xlink:title="definition: ProductsAndServicesDomain to CasinoAndGamingMember" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="ProductsAndServicesDomain" xlink:to="TransactServicesGroupMember" xlink:title="definition: ProductsAndServicesDomain to TransactServicesGroupMember" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="definition: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain_2" xlink:title="SegmentGeographicalDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain_2" xlink:title="definition: StatementGeographicalAxis to SegmentGeographicalDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="definition: SegmentGeographicalDomain to US" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="definition: SegmentGeographicalDomain to InternationalMember" order="2.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueContractBalancesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligation" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetailsDefault">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligation" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="definition: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="4.0" t1:closed="true" t1:contextElement="segment" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BorrowingsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityAbstract" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityMaximumBorrowingCapacity" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentBasisSpreadOnVariableRate1" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentInterestRateStatedPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentInterestRateStatedPercentage" order="4.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DeferredFinanceCostsGross" xlink:title="definition: DebtInstrumentLineItems to DeferredFinanceCostsGross" order="5.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="6.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleAccountsReceivable" order="7.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventory" order="8.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" order="9.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" order="10.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="definition: DebtInstrumentLineItems to LineOfCreditFacilityRemainingBorrowingCapacity" order="11.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="SecuredDebt" xlink:title="definition: DebtInstrumentLineItems to SecuredDebt" order="12.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" order="13.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" order="14.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:label="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" order="15.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:label="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" order="16.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="DebtInstrumentLineItems" xlink:to="DebtInstrumentTable" xlink:title="definition: DebtInstrumentLineItems to DebtInstrumentTable" order="17.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="definition: DebtInstrumentTable to DebtInstrumentAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain_2" xlink:title="DebtInstrumentNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain_2" xlink:title="definition: DebtInstrumentAxis to DebtInstrumentNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="DebtInstrumentNameDomain" xlink:to="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="definition: DebtInstrumentNameDomain to RevolvingCreditFacilitySienaLendingGroupLlcMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="VariableRateAxis" xlink:title="definition: DebtInstrumentTable to VariableRateAxis" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain" xlink:title="definition: VariableRateAxis to VariableRateDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain_2" xlink:title="VariableRateDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain_2" xlink:title="definition: VariableRateAxis to VariableRateDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="VariableRateDomain" xlink:to="PrimeRateMember" xlink:title="definition: VariableRateDomain to PrimeRateMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="VariableRateDomain" xlink:to="FederalFundsEffectiveSwapRateMember" xlink:title="definition: VariableRateDomain to FederalFundsEffectiveSwapRateMember" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="DebtInstrumentTable" xlink:to="RangeAxis" xlink:title="definition: DebtInstrumentTable to RangeAxis" order="3.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="definition: RangeAxis to RangeMember" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember_2" xlink:title="RangeMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="RangeAxis" xlink:to="RangeMember_2" xlink:title="definition: RangeAxis to RangeMember_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="definition: RangeMember to MinimumMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="EarningsPerShareReconciliationAbstract" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to EarningsPerShareReconciliationAbstract" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="3.0" t1:closed="true" t1:contextElement="segment" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="definition: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain" order="1.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain_2" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain_2" xlink:title="definition: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain_2" order="2.0" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:definitionArc xlink:type="arc" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="StockCompensationPlanMember" xlink:title="definition: AntidilutiveSecuritiesNameDomain to StockCompensationPlanMember" order="1.0" />
  </link:definitionLink>
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2" />
  <link:definitionLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesDetails" />
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.LAB
<SEQUENCE>8
<FILENAME>tact-20240331_lab.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION LABEL LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:labelLink xlink:type="extended" xlink:role="http://www.xbrl.org/2003/role/link">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="InsiderTradingArrLineItems" xlink:title="InsiderTradingArrLineItems" />
    <link:label xlink:type="resource" xlink:label="ecd_InsiderTradingArrLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_InsiderTradingArrLineItems" xml:lang="en-US" id="ecd_InsiderTradingArrLineItems">Insider Trading Arrangements [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InsiderTradingArrLineItems" xlink:to="ecd_InsiderTradingArrLineItems" xlink:title="label: InsiderTradingArrLineItems to ecd_InsiderTradingArrLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="Rule10b51ArrAdoptedFlag" xlink:title="Rule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_Rule10b51ArrAdoptedFlag" xml:lang="en-US" id="ecd_Rule10b51ArrAdoptedFlag">Rule 10b5-1 Arrangement Adopted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag" xlink:title="label: Rule10b51ArrAdoptedFlag to ecd_Rule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrAdoptedFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_Rule10b51ArrAdoptedFlag_lbl1" xml:lang="en-US" id="ecd_Rule10b51ArrAdoptedFlag_lbl1">Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrAdoptedFlag" xlink:to="ecd_Rule10b51ArrAdoptedFlag_lbl1" xlink:title="label: Rule10b51ArrAdoptedFlag to ecd_Rule10b51ArrAdoptedFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="Rule10b51ArrTrmntdFlag" xlink:title="Rule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_Rule10b51ArrTrmntdFlag" xml:lang="en-US" id="ecd_Rule10b51ArrTrmntdFlag">Rule 10b5-1 Arrangement Terminated</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag" xlink:title="label: Rule10b51ArrTrmntdFlag to ecd_Rule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_Rule10b51ArrTrmntdFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_Rule10b51ArrTrmntdFlag_lbl1" xml:lang="en-US" id="ecd_Rule10b51ArrTrmntdFlag_lbl1">Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Rule10b51ArrTrmntdFlag" xlink:to="ecd_Rule10b51ArrTrmntdFlag_lbl1" xlink:title="label: Rule10b51ArrTrmntdFlag to ecd_Rule10b51ArrTrmntdFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="NonRule10b51ArrAdoptedFlag" xlink:title="NonRule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrAdoptedFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_NonRule10b51ArrAdoptedFlag" xml:lang="en-US" id="ecd_NonRule10b51ArrAdoptedFlag">Non-Rule 10b5-1 Arrangement Adopted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag" xlink:title="label: NonRule10b51ArrAdoptedFlag to ecd_NonRule10b51ArrAdoptedFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xml:lang="en-US" id="ecd_NonRule10b51ArrAdoptedFlag_lbl1">Non-Rule 10b5-1 Arrangement Adopted [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrAdoptedFlag" xlink:to="ecd_NonRule10b51ArrAdoptedFlag_lbl1" xlink:title="label: NonRule10b51ArrAdoptedFlag to ecd_NonRule10b51ArrAdoptedFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="NonRule10b51ArrTrmntdFlag" xlink:title="NonRule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrTrmntdFlag" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="ecd_NonRule10b51ArrTrmntdFlag" xml:lang="en-US" id="ecd_NonRule10b51ArrTrmntdFlag">Non-Rule 10b5-1 Arrangement Terminated</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag" xlink:title="label: NonRule10b51ArrTrmntdFlag to ecd_NonRule10b51ArrTrmntdFlag" />
    <link:label xlink:type="resource" xlink:label="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xml:lang="en-US" id="ecd_NonRule10b51ArrTrmntdFlag_lbl1">Non-Rule 10b5-1 Arrangement Terminated [Flag]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonRule10b51ArrTrmntdFlag" xlink:to="ecd_NonRule10b51ArrTrmntdFlag_lbl1" xlink:title="label: NonRule10b51ArrTrmntdFlag to ecd_NonRule10b51ArrTrmntdFlag_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsReceivableNetCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsReceivableNetCurrent" xml:lang="en-US" id="us-gaap_AccountsReceivableNetCurrent">Accounts receivable, net of allowance for expected credit losses of $668 and $768</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsReceivableNetCurrent" xlink:to="us-gaap_AccountsReceivableNetCurrent" xlink:title="label: AccountsReceivableNetCurrent to us-gaap_AccountsReceivableNetCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">Intangible assets, accumulated amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="label: FiniteLivedIntangibleAssetsAccumulatedAmortization to us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xml:lang="en-US" id="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1">Finite-Lived Intangible Assets, Accumulated Amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:to="us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" xlink:title="label: FiniteLivedIntangibleAssetsAccumulatedAmortization to us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">Accumulated other comprehensive loss, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="label: AccumulatedOtherComprehensiveIncomeLossNetOfTax to us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">Fixed assets, accumulated depreciation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1">Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:to="us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" xlink:title="label: AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment to us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapitalCommonStock" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapitalCommonStock">Additional paid-in capital</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapitalCommonStock" xlink:to="us-gaap_AdditionalPaidInCapitalCommonStock" xlink:title="label: AdditionalPaidInCapitalCommonStock to us-gaap_AdditionalPaidInCapitalCommonStock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xml:lang="en-US" id="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">Allowance for expected credit losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:to="us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="label: AllowanceForDoubtfulAccountsReceivableCurrent to us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockCompensationPlanMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockCompensationPlanMember" xml:lang="en-US" id="us-gaap_StockCompensationPlanMember">Stock Awards [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockCompensationPlanMember" xlink:to="us-gaap_StockCompensationPlanMember" xlink:title="label: StockCompensationPlanMember to us-gaap_StockCompensationPlanMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockCompensationPlanMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockCompensationPlanMember_lbl1" xml:lang="en-US" id="us-gaap_StockCompensationPlanMember_lbl1">Share-Based Payment Arrangement [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockCompensationPlanMember" xlink:to="us-gaap_StockCompensationPlanMember_lbl1" xlink:title="label: StockCompensationPlanMember to us-gaap_StockCompensationPlanMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfFinancialPositionAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfFinancialPositionAbstract" xml:lang="en-US" id="us-gaap_StatementOfFinancialPositionAbstract">CONDENSED CONSOLIDATED BALANCE SHEETS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="us-gaap_StatementOfFinancialPositionAbstract" xlink:title="label: StatementOfFinancialPositionAbstract to us-gaap_StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasic" xml:lang="en-US" id="us-gaap_EarningsPerShareBasic">Basic (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasic" xlink:to="us-gaap_EarningsPerShareBasic" xlink:title="label: EarningsPerShareBasic to us-gaap_EarningsPerShareBasic" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashAndCashEquivalentsAtCarryingValue" xml:lang="en-US" id="us-gaap_CashAndCashEquivalentsAtCarryingValue">Cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashAndCashEquivalentsAtCarryingValue" xlink:to="us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:title="label: CashAndCashEquivalentsAtCarryingValue to us-gaap_CashAndCashEquivalentsAtCarryingValue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsReceivable" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsReceivable">Accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:title="label: IncreaseDecreaseInAccountsReceivable to us-gaap_IncreaseDecreaseInAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1">Increase (Decrease) in Accounts Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsReceivable" xlink:to="us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsReceivable to us-gaap_IncreaseDecreaseInAccountsReceivable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInInventories" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInInventories_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInInventories_lbl1">Increase (Decrease) in Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInInventories" xlink:to="us-gaap_IncreaseDecreaseInInventories_lbl1" xlink:title="label: IncreaseDecreaseInInventories to us-gaap_IncreaseDecreaseInInventories_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="IncreaseDecreaseInOtherReceivables" xlink:title="IncreaseDecreaseInOtherReceivables" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherReceivables" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherReceivables">Employee retention credit receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherReceivables" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables" xlink:title="label: IncreaseDecreaseInOtherReceivables to us-gaap_IncreaseDecreaseInOtherReceivables" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherReceivables_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherReceivables_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherReceivables_lbl1">Increase (Decrease) in Other Receivables</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherReceivables" xlink:to="us-gaap_IncreaseDecreaseInOtherReceivables_lbl1" xlink:title="label: IncreaseDecreaseInOtherReceivables to us-gaap_IncreaseDecreaseInOtherReceivables_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">Changes in operating assets and liabilities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="label: IncreaseDecreaseInOperatingCapitalAbstract to us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable">Accounts payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1">Increase (Decrease) in Accounts Payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccountsPayable" xlink:to="us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" xlink:title="label: IncreaseDecreaseInAccountsPayable to us-gaap_IncreaseDecreaseInAccountsPayable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesAuthorized" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesAuthorized" xml:lang="en-US" id="us-gaap_CommonStockSharesAuthorized">Common stock, shares authorized (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesAuthorized" xlink:to="us-gaap_CommonStockSharesAuthorized" xlink:title="label: CommonStockSharesAuthorized to us-gaap_CommonStockSharesAuthorized" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesIssued" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesIssued" xml:lang="en-US" id="us-gaap_CommonStockSharesIssued">Common stock, shares issued (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesIssued" xlink:to="us-gaap_CommonStockSharesIssued" xlink:title="label: CommonStockSharesIssued to us-gaap_CommonStockSharesIssued" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockSharesOutstanding" xml:lang="en-US" id="us-gaap_CommonStockSharesOutstanding">Common stock, shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockSharesOutstanding" xlink:to="us-gaap_CommonStockSharesOutstanding" xlink:title="label: CommonStockSharesOutstanding to us-gaap_CommonStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CommonStockValue" xml:lang="en-US" id="us-gaap_CommonStockValue">Common stock, $0.01 par value, 20,000,000 shares authorized; 14,039,749 and 14,003,653 shares issued, respectively; 9,994,907 and 9,958,811 shares outstanding, respectively</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockValue" xlink:to="us-gaap_CommonStockValue" xlink:title="label: CommonStockValue to us-gaap_CommonStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockValue_lbl1" xml:lang="en-US" id="us-gaap_CommonStockValue_lbl1">Common Stock, Value, Issued</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockValue" xlink:to="us-gaap_CommonStockValue_lbl1" xlink:title="label: CommonStockValue to us-gaap_CommonStockValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" xlink:title="ComprehensiveIncomeNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_ComprehensiveIncomeNetOfTax" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTax">Comprehensive (loss) income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax" xlink:title="label: ComprehensiveIncomeNetOfTax to us-gaap_ComprehensiveIncomeNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xml:lang="en-US" id="us-gaap_ComprehensiveIncomeNetOfTax_lbl1">Comprehensive Income (Loss), Net of Tax, Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ComprehensiveIncomeNetOfTax" xlink:to="us-gaap_ComprehensiveIncomeNetOfTax_lbl1" xlink:title="label: ComprehensiveIncomeNetOfTax to us-gaap_ComprehensiveIncomeNetOfTax_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CostOfRevenue" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CostOfRevenue" xml:lang="en-US" id="us-gaap_CostOfRevenue">Cost of sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CostOfRevenue" xlink:to="us-gaap_CostOfRevenue" xlink:title="label: CostOfRevenue to us-gaap_CostOfRevenue" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesCurrent" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent">Total current liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesCurrent_lbl1">Liabilities, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrent" xlink:to="us-gaap_LiabilitiesCurrent_lbl1" xlink:title="label: LiabilitiesCurrent to us-gaap_LiabilitiesCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesCurrentAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesCurrentAbstract">Current liabilities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesCurrentAbstract" xlink:to="us-gaap_LiabilitiesCurrentAbstract" xlink:title="label: LiabilitiesCurrentAbstract to us-gaap_LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DebtDisclosureTextBlock" xml:lang="en-US" id="us-gaap_DebtDisclosureTextBlock">Borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock" xlink:title="label: DebtDisclosureTextBlock to us-gaap_DebtDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_DebtDisclosureTextBlock_lbl1">Debt Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureTextBlock" xlink:to="us-gaap_DebtDisclosureTextBlock_lbl1" xlink:title="label: DebtDisclosureTextBlock to us-gaap_DebtDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DebtInstrumentInterestRateStatedPercentage" xml:lang="en-US" id="us-gaap_DebtInstrumentInterestRateStatedPercentage">Interest rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:title="label: DebtInstrumentInterestRateStatedPercentage to us-gaap_DebtInstrumentInterestRateStatedPercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xml:lang="en-US" id="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1">Debt Instrument, Interest Rate, Stated Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentInterestRateStatedPercentage" xlink:to="us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" xlink:title="label: DebtInstrumentInterestRateStatedPercentage to us-gaap_DebtInstrumentInterestRateStatedPercentage_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentNameDomain" xml:lang="en-US" id="us-gaap_DebtInstrumentNameDomain">Debt Instrument, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentNameDomain" xlink:to="us-gaap_DebtInstrumentNameDomain" xlink:title="label: DebtInstrumentNameDomain to us-gaap_DebtInstrumentNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentAxis" xml:lang="en-US" id="us-gaap_DebtInstrumentAxis">Debt Instrument [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentAxis" xlink:to="us-gaap_DebtInstrumentAxis" xlink:title="label: DebtInstrumentAxis to us-gaap_DebtInstrumentAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentLineItems" xml:lang="en-US" id="us-gaap_DebtInstrumentLineItems">Debt Instrument [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentLineItems" xlink:to="us-gaap_DebtInstrumentLineItems" xlink:title="label: DebtInstrumentLineItems to us-gaap_DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentTable" xml:lang="en-US" id="us-gaap_DebtInstrumentTable">Schedule of Long-term Debt Instruments [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentTable" xlink:to="us-gaap_DebtInstrumentTable" xlink:title="label: DebtInstrumentTable to us-gaap_DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxExpenseBenefit">Deferred income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxExpenseBenefit" xlink:to="us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:title="label: DeferredIncomeTaxExpenseBenefit to us-gaap_DeferredIncomeTaxExpenseBenefit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DepreciationAndAmortization" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DepreciationAndAmortization" xml:lang="en-US" id="us-gaap_DepreciationAndAmortization">Depreciation and amortization</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DepreciationAndAmortization" xlink:to="us-gaap_DepreciationAndAmortization" xlink:title="label: DepreciationAndAmortization to us-gaap_DepreciationAndAmortization" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareDiluted" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted">Diluted (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareDiluted_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareDiluted_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareDiluted_lbl1">Earnings Per Share, Diluted</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareDiluted" xlink:to="us-gaap_EarningsPerShareDiluted_lbl1" xlink:title="label: EarningsPerShareDiluted to us-gaap_EarningsPerShareDiluted_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xml:lang="en-US" id="us-gaap_EffectiveIncomeTaxRateContinuingOperations">Effective tax rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectiveIncomeTaxRateContinuingOperations" xlink:to="us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:title="label: EffectiveIncomeTaxRateContinuingOperations to us-gaap_EffectiveIncomeTaxRateContinuingOperations" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ShareBasedCompensation" xml:lang="en-US" id="us-gaap_ShareBasedCompensation">Share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ShareBasedCompensation" xlink:to="us-gaap_ShareBasedCompensation" xlink:title="label: ShareBasedCompensation to us-gaap_ShareBasedCompensation" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GeneralAndAdministrativeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GeneralAndAdministrativeExpense" xml:lang="en-US" id="us-gaap_GeneralAndAdministrativeExpense">General and administrative</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GeneralAndAdministrativeExpense" xlink:to="us-gaap_GeneralAndAdministrativeExpense" xlink:title="label: GeneralAndAdministrativeExpense to us-gaap_GeneralAndAdministrativeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_GrossProfit" xml:lang="en-US" id="us-gaap_GrossProfit">Gross profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit" xlink:title="label: GrossProfit to us-gaap_GrossProfit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_GrossProfit_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_GrossProfit_lbl1" xml:lang="en-US" id="us-gaap_GrossProfit_lbl1">Gross Profit</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="GrossProfit" xlink:to="us-gaap_GrossProfit_lbl1" xlink:title="label: GrossProfit to us-gaap_GrossProfit_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeStatementAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeStatementAbstract" xml:lang="en-US" id="us-gaap_IncomeStatementAbstract">CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeStatementAbstract" xlink:to="us-gaap_IncomeStatementAbstract" xlink:title="label: IncomeStatementAbstract to us-gaap_IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeTaxDisclosureTextBlock" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureTextBlock">Income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock" xlink:title="label: IncomeTaxDisclosureTextBlock to us-gaap_IncomeTaxDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureTextBlock_lbl1">Income Tax Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureTextBlock" xlink:to="us-gaap_IncomeTaxDisclosureTextBlock_lbl1" xlink:title="label: IncomeTaxDisclosureTextBlock to us-gaap_IncomeTaxDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherOperatingAssets">Other current and long-term assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:title="label: IncreaseDecreaseInOtherOperatingAssets to us-gaap_IncreaseDecreaseInOtherOperatingAssets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1">Increase (Decrease) in Other Operating Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInOtherOperatingAssets" xlink:to="us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" xlink:title="label: IncreaseDecreaseInOtherOperatingAssets to us-gaap_IncreaseDecreaseInOtherOperatingAssets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xml:lang="en-US" id="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">Add: Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:to="us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="label: IncrementalCommonSharesAttributableToShareBasedPaymentArrangements to us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_IntangibleAssetsNetExcludingGoodwill" xml:lang="en-US" id="us-gaap_IntangibleAssetsNetExcludingGoodwill">Intangible assets, net of accumulated amortization of $1,556 and $1,518</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:title="label: IntangibleAssetsNetExcludingGoodwill to us-gaap_IntangibleAssetsNetExcludingGoodwill" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1" xml:lang="en-US" id="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1">Intangible Assets, Net (Excluding Goodwill)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IntangibleAssetsNetExcludingGoodwill" xlink:to="us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1" xlink:title="label: IntangibleAssetsNetExcludingGoodwill to us-gaap_IntangibleAssetsNetExcludingGoodwill_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="Goodwill" xlink:title="Goodwill" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Goodwill" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Goodwill" xml:lang="en-US" id="us-gaap_Goodwill">Goodwill</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Goodwill" xlink:to="us-gaap_Goodwill" xlink:title="label: Goodwill to us-gaap_Goodwill" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryNet" xml:lang="en-US" id="us-gaap_InventoryNet">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet" xlink:title="label: InventoryNet to us-gaap_InventoryNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryNet1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_InventoryNet1" xml:lang="en-US" id="us-gaap_InventoryNet1">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryNet" xlink:to="us-gaap_InventoryNet1" xlink:title="label: InventoryNet to us-gaap_InventoryNet1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="Liabilities" xlink:title="Liabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Liabilities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_Liabilities" xml:lang="en-US" id="us-gaap_Liabilities">Total liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Liabilities" xlink:to="us-gaap_Liabilities" xlink:title="label: Liabilities to us-gaap_Liabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Liabilities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Liabilities_lbl1" xml:lang="en-US" id="us-gaap_Liabilities_lbl1">Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Liabilities" xlink:to="us-gaap_Liabilities_lbl1" xlink:title="label: Liabilities to us-gaap_Liabilities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity">Total liabilities and shareholders' equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquity_lbl1">Liabilities and Equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquity" xlink:to="us-gaap_LiabilitiesAndStockholdersEquity_lbl1" xlink:title="label: LiabilitiesAndStockholdersEquity to us-gaap_LiabilitiesAndStockholdersEquity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_LiabilitiesAndStockholdersEquityAbstract">Liabilities and Shareholders' Equity:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:title="label: LiabilitiesAndStockholdersEquityAbstract to us-gaap_LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="LinesOfCreditCurrent" xlink:title="LinesOfCreditCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LinesOfCreditCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LinesOfCreditCurrent" xml:lang="en-US" id="us-gaap_LinesOfCreditCurrent">Revolving loan payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent" xlink:title="label: LinesOfCreditCurrent to us-gaap_LinesOfCreditCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LinesOfCreditCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LinesOfCreditCurrent_lbl1" xml:lang="en-US" id="us-gaap_LinesOfCreditCurrent_lbl1">Line of Credit, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LinesOfCreditCurrent" xlink:to="us-gaap_LinesOfCreditCurrent_lbl1" xlink:title="label: LinesOfCreditCurrent to us-gaap_LinesOfCreditCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">Maximum borrowing capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="label: LineOfCreditFacilityMaximumBorrowingCapacity to us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1">Line of Credit Facility, Maximum Borrowing Capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" xlink:title="label: LineOfCreditFacilityMaximumBorrowingCapacity to us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">Additional borrowing capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="label: LineOfCreditFacilityRemainingBorrowingCapacity to us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1">Line of Credit Facility, Remaining Borrowing Capacity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:to="us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" xlink:title="label: LineOfCreditFacilityRemainingBorrowingCapacity to us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityAbstract" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityAbstract">Borrowings [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract" xlink:title="label: LineOfCreditFacilityAbstract to us-gaap_LineOfCreditFacilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityAbstract_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityAbstract_lbl1">Line of Credit Facility [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityAbstract" xlink:to="us-gaap_LineOfCreditFacilityAbstract_lbl1" xlink:title="label: LineOfCreditFacilityAbstract to us-gaap_LineOfCreditFacilityAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities">Net cash used in financing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1">Net Cash Provided by (Used in) Financing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInFinancingActivities to us-gaap_NetCashProvidedByUsedInFinancingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">Cash flows from financing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInFinancingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities">Net cash used in investing activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1">Net Cash Provided by (Used in) Investing Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInInvestingActivities to us-gaap_NetCashProvidedByUsedInInvestingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">Cash flows from investing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInInvestingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities">Net cash used in operating activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1">Net Cash Provided by (Used in) Operating Activities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivities" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" xlink:title="label: NetCashProvidedByUsedInOperatingActivities to us-gaap_NetCashProvidedByUsedInOperatingActivities_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US" id="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">Cash flows from operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="label: NetCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NetIncomeLoss" xml:lang="en-US" id="us-gaap_NetIncomeLoss">Net (loss) income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NetIncomeLoss1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NetIncomeLoss1" xml:lang="en-US" id="us-gaap_NetIncomeLoss1">Net (loss) income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NetIncomeLoss" xlink:to="us-gaap_NetIncomeLoss1" xlink:title="label: NetIncomeLoss to us-gaap_NetIncomeLoss1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_NonoperatingIncomeExpense" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense">Interest and other income (expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonoperatingIncomeExpense_lbl1" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpense_lbl1">Nonoperating Income (Expense)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpense" xlink:to="us-gaap_NonoperatingIncomeExpense_lbl1" xlink:title="label: NonoperatingIncomeExpense to us-gaap_NonoperatingIncomeExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="NonoperatingIncomeExpenseAbstract" xlink:title="NonoperatingIncomeExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NonoperatingIncomeExpenseAbstract" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpenseAbstract">Interest and other (expense) income:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract" xlink:title="label: NonoperatingIncomeExpenseAbstract to us-gaap_NonoperatingIncomeExpenseAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NonoperatingIncomeExpenseAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NonoperatingIncomeExpenseAbstract_lbl1" xml:lang="en-US" id="us-gaap_NonoperatingIncomeExpenseAbstract_lbl1">Nonoperating Income (Expense) [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="us-gaap_NonoperatingIncomeExpenseAbstract_lbl1" xlink:title="label: NonoperatingIncomeExpenseAbstract to us-gaap_NonoperatingIncomeExpenseAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AssetsNoncurrent" xml:lang="en-US" id="us-gaap_AssetsNoncurrent">Total noncurrent assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent" xlink:title="label: AssetsNoncurrent to us-gaap_AssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_AssetsNoncurrent_lbl1">Assets, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsNoncurrent" xlink:to="us-gaap_AssetsNoncurrent_lbl1" xlink:title="label: AssetsNoncurrent to us-gaap_AssetsNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LiabilitiesNoncurrent" xml:lang="en-US" id="us-gaap_LiabilitiesNoncurrent">Total noncurrent liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent" xlink:title="label: LiabilitiesNoncurrent to us-gaap_LiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LiabilitiesNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LiabilitiesNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_LiabilitiesNoncurrent_lbl1">Liabilities, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LiabilitiesNoncurrent" xlink:to="us-gaap_LiabilitiesNoncurrent_lbl1" xlink:title="label: LiabilitiesNoncurrent to us-gaap_LiabilitiesNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_OperatingIncomeLoss" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss">Operating (loss) income</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingIncomeLoss_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingIncomeLoss_lbl1" xml:lang="en-US" id="us-gaap_OperatingIncomeLoss_lbl1">Operating Income (Loss)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingIncomeLoss" xlink:to="us-gaap_OperatingIncomeLoss_lbl1" xlink:title="label: OperatingIncomeLoss to us-gaap_OperatingIncomeLoss_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsCurrent" xml:lang="en-US" id="us-gaap_OtherAssetsCurrent">Other current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsCurrent" xlink:to="us-gaap_OtherAssetsCurrent" xlink:title="label: OtherAssetsCurrent to us-gaap_OtherAssetsCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherNonoperatingIncomeExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherNonoperatingIncomeExpense" xml:lang="en-US" id="us-gaap_OtherNonoperatingIncomeExpense">Other, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherNonoperatingIncomeExpense" xlink:to="us-gaap_OtherNonoperatingIncomeExpense" xlink:title="label: OtherNonoperatingIncomeExpense to us-gaap_OtherNonoperatingIncomeExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PrepaidTaxes" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PrepaidTaxes" xml:lang="en-US" id="us-gaap_PrepaidTaxes">Prepaid income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrepaidTaxes" xlink:to="us-gaap_PrepaidTaxes" xlink:title="label: PrepaidTaxes to us-gaap_PrepaidTaxes" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_PropertyPlantAndEquipmentNet" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet">Fixed assets, net of accumulated depreciation of $18,947 and $18,646</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xml:lang="en-US" id="us-gaap_PropertyPlantAndEquipmentNet_lbl1">Property, Plant and Equipment, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PropertyPlantAndEquipmentNet" xlink:to="us-gaap_PropertyPlantAndEquipmentNet_lbl1" xlink:title="label: PropertyPlantAndEquipmentNet to us-gaap_PropertyPlantAndEquipmentNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">Capital expenditures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xml:lang="en-US" id="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1">Payments to Acquire Property, Plant, and Equipment</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsToAcquirePropertyPlantAndEquipment" xlink:to="us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" xlink:title="label: PaymentsToAcquirePropertyPlantAndEquipment to us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsAccumulatedDeficit" xml:lang="en-US" id="us-gaap_RetainedEarningsAccumulatedDeficit">Retained earnings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsAccumulatedDeficit" xlink:to="us-gaap_RetainedEarningsAccumulatedDeficit" xlink:title="label: RetainedEarningsAccumulatedDeficit to us-gaap_RetainedEarningsAccumulatedDeficit" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="InventoryDisclosureTextBlock" xlink:title="InventoryDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InventoryDisclosureTextBlock" xml:lang="en-US" id="us-gaap_InventoryDisclosureTextBlock">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock" xlink:title="label: InventoryDisclosureTextBlock to us-gaap_InventoryDisclosureTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryDisclosureTextBlock_lbl1" xml:lang="en-US" id="us-gaap_InventoryDisclosureTextBlock_lbl1">Inventory Disclosure [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureTextBlock" xlink:to="us-gaap_InventoryDisclosureTextBlock_lbl1" xlink:title="label: InventoryDisclosureTextBlock to us-gaap_InventoryDisclosureTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SecuredDebt" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SecuredDebt" xml:lang="en-US" id="us-gaap_SecuredDebt">Balance outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecuredDebt" xlink:to="us-gaap_SecuredDebt" xlink:title="label: SecuredDebt to us-gaap_SecuredDebt" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SecuredDebt_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SecuredDebt_lbl1" xml:lang="en-US" id="us-gaap_SecuredDebt_lbl1">Secured Debt</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecuredDebt" xlink:to="us-gaap_SecuredDebt_lbl1" xlink:title="label: SecuredDebt to us-gaap_SecuredDebt_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SellingAndMarketingExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SellingAndMarketingExpense" xml:lang="en-US" id="us-gaap_SellingAndMarketingExpense">Selling and marketing</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SellingAndMarketingExpense" xlink:to="us-gaap_SellingAndMarketingExpense" xlink:title="label: SellingAndMarketingExpense to us-gaap_SellingAndMarketingExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfCashFlowsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfCashFlowsAbstract" xml:lang="en-US" id="us-gaap_StatementOfCashFlowsAbstract">CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfCashFlowsAbstract" xlink:to="us-gaap_StatementOfCashFlowsAbstract" xlink:title="label: StatementOfCashFlowsAbstract to us-gaap_StatementOfCashFlowsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:title="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xml:lang="en-US" id="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:title="label: StatementOfIncomeAndComprehensiveIncomeAbstract to us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementOfStockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementOfStockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_StatementOfStockholdersEquityAbstract">CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="us-gaap_StatementOfStockholdersEquityAbstract" xlink:title="label: StatementOfStockholdersEquityAbstract to us-gaap_StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquityAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquityAbstract" xml:lang="en-US" id="us-gaap_StockholdersEquityAbstract">Shareholders' equity:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquityAbstract" xlink:to="us-gaap_StockholdersEquityAbstract" xlink:title="label: StockholdersEquityAbstract to us-gaap_StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_AssetsCurrent" xml:lang="en-US" id="us-gaap_AssetsCurrent">Total current assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrent_lbl1" xml:lang="en-US" id="us-gaap_AssetsCurrent_lbl1">Assets, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrent" xlink:to="us-gaap_AssetsCurrent_lbl1" xlink:title="label: AssetsCurrent to us-gaap_AssetsCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsCurrentAbstract" xml:lang="en-US" id="us-gaap_AssetsCurrentAbstract">Current assets:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract" xlink:title="label: AssetsCurrentAbstract to us-gaap_AssetsCurrentAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsCurrentAbstract1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AssetsCurrentAbstract1" xml:lang="en-US" id="us-gaap_AssetsCurrentAbstract1">Current assets:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsCurrentAbstract" xlink:to="us-gaap_AssetsCurrentAbstract1" xlink:title="label: AssetsCurrentAbstract to us-gaap_AssetsCurrentAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">Diluted (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1">Diluted: Weighted average common and common equivalent shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:to="us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" xlink:title="label: WeightedAverageNumberOfDilutedSharesOutstanding to us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">Basic (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1">Basic: Weighted average common shares outstanding (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingBasic" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingBasic to us-gaap_WeightedAverageNumberOfSharesOutstandingBasic1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockMember" xml:lang="en-US" id="us-gaap_CommonStockMember">Common Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockMember" xlink:to="us-gaap_CommonStockMember" xlink:title="label: CommonStockMember to us-gaap_CommonStockMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ResearchAndDevelopmentExpense" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ResearchAndDevelopmentExpense" xml:lang="en-US" id="us-gaap_ResearchAndDevelopmentExpense">Engineering, design and product development</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ResearchAndDevelopmentExpense" xlink:to="us-gaap_ResearchAndDevelopmentExpense" xlink:title="label: ResearchAndDevelopmentExpense to us-gaap_ResearchAndDevelopmentExpense" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_Assets" xml:lang="en-US" id="us-gaap_Assets">Total assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets" xlink:title="label: Assets to us-gaap_Assets" />
    <link:label xlink:type="resource" xlink:label="us-gaap_Assets_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_Assets_lbl1" xml:lang="en-US" id="us-gaap_Assets_lbl1">Assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Assets" xlink:to="us-gaap_Assets_lbl1" xlink:title="label: Assets to us-gaap_Assets_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherLiabilitiesNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherLiabilitiesNoncurrent" xml:lang="en-US" id="us-gaap_OtherLiabilitiesNoncurrent">Other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherLiabilitiesNoncurrent" xlink:to="us-gaap_OtherLiabilitiesNoncurrent" xlink:title="label: OtherLiabilitiesNoncurrent to us-gaap_OtherLiabilitiesNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementTable" xml:lang="en-US" id="us-gaap_StatementTable">Statement [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementTable" xlink:to="us-gaap_StatementTable" xlink:title="label: StatementTable to us-gaap_StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesNameDomain" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesNameDomain">Antidilutive Securities, Name [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="us-gaap_AntidilutiveSecuritiesNameDomain" xlink:title="label: AntidilutiveSecuritiesNameDomain to us-gaap_AntidilutiveSecuritiesNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AssetsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AssetsAbstract" xml:lang="en-US" id="us-gaap_AssetsAbstract">Assets:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AssetsAbstract" xlink:to="us-gaap_AssetsAbstract" xlink:title="label: AssetsAbstract to us-gaap_AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementLineItems" xml:lang="en-US" id="us-gaap_StatementLineItems">Statement [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementLineItems" xlink:to="us-gaap_StatementLineItems" xlink:title="label: StatementLineItems to us-gaap_StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_TreasuryStockValue" xml:lang="en-US" id="us-gaap_TreasuryStockValue">Treasury stock, at cost (4,044,842 shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue" xlink:title="label: TreasuryStockValue to us-gaap_TreasuryStockValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockValue_lbl1" xml:lang="en-US" id="us-gaap_TreasuryStockValue_lbl1">Treasury Stock, Value</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockValue" xlink:to="us-gaap_TreasuryStockValue_lbl1" xlink:title="label: TreasuryStockValue to us-gaap_TreasuryStockValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">Increase (Decrease) in Stockholders' Equity [Roll Forward]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="label: IncreaseDecreaseInStockholdersEquityRollForward to us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherAssetsNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherAssetsNoncurrent" xml:lang="en-US" id="us-gaap_OtherAssetsNoncurrent">Other assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherAssetsNoncurrent" xlink:to="us-gaap_OtherAssetsNoncurrent" xlink:title="label: OtherAssetsNoncurrent to us-gaap_OtherAssetsNoncurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingExpensesAbstract" xml:lang="en-US" id="us-gaap_OperatingExpensesAbstract">Operating expenses:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract" xlink:title="label: OperatingExpensesAbstract to us-gaap_OperatingExpensesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpensesAbstract1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingExpensesAbstract1" xml:lang="en-US" id="us-gaap_OperatingExpensesAbstract1">Basis of presentation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpensesAbstract" xlink:to="us-gaap_OperatingExpensesAbstract1" xlink:title="label: OperatingExpensesAbstract to us-gaap_OperatingExpensesAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenses" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_OperatingExpenses" xml:lang="en-US" id="us-gaap_OperatingExpenses">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenses" xlink:to="us-gaap_OperatingExpenses" xlink:title="label: OperatingExpenses to us-gaap_OperatingExpenses" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenses1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingExpenses1" xml:lang="en-US" id="us-gaap_OperatingExpenses1">Operating expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenses" xlink:to="us-gaap_OperatingExpenses1" xlink:title="label: OperatingExpenses to us-gaap_OperatingExpenses1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingExpenses_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingExpenses_lbl2" xml:lang="en-US" id="us-gaap_OperatingExpenses_lbl2">Operating Expenses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingExpenses" xlink:to="us-gaap_OperatingExpenses_lbl2" xlink:title="label: OperatingExpenses to us-gaap_OperatingExpenses_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="EarningsPerShareBasicAbstract" xlink:title="EarningsPerShareBasicAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAbstract" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerShareBasicAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicAbstract">Net (loss) income per common share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract" xlink:title="label: EarningsPerShareBasicAbstract to us-gaap_EarningsPerShareBasicAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasicAbstract_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicAbstract_lbl1">Earnings Per Share, Basic [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicAbstract" xlink:to="us-gaap_EarningsPerShareBasicAbstract_lbl1" xlink:title="label: EarningsPerShareBasicAbstract to us-gaap_EarningsPerShareBasicAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:label="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:title="EarningsPerShareBasicOtherDisclosuresAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract">Shares used in per-share calculations:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:to="us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:title="label: EarningsPerShareBasicOtherDisclosuresAbstract to us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareReconciliationAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareReconciliationAbstract">Earnings per share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="us-gaap_EarningsPerShareReconciliationAbstract" xlink:title="label: EarningsPerShareReconciliationAbstract to us-gaap_EarningsPerShareReconciliationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareReconciliationAbstract_lbl1">Earnings Per Share Reconciliation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="us-gaap_EarningsPerShareReconciliationAbstract_lbl1" xlink:title="label: EarningsPerShareReconciliationAbstract to us-gaap_EarningsPerShareReconciliationAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">Antidilutive Securities [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xml:lang="en-US" id="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems">Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="label: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareAbstract" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract">Earnings per share [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareAbstract1" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_EarningsPerShareAbstract1" xml:lang="en-US" id="us-gaap_EarningsPerShareAbstract1">Net (loss) income per common share:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareAbstract" xlink:to="us-gaap_EarningsPerShareAbstract1" xlink:title="label: EarningsPerShareAbstract to us-gaap_EarningsPerShareAbstract1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xml:lang="en-US" id="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable">Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="label: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommonStockParOrStatedValuePerShare" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommonStockParOrStatedValuePerShare" xml:lang="en-US" id="us-gaap_CommonStockParOrStatedValuePerShare">Common stock, par value (in dollars per share)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommonStockParOrStatedValuePerShare" xlink:to="us-gaap_CommonStockParOrStatedValuePerShare" xlink:title="label: CommonStockParOrStatedValuePerShare to us-gaap_CommonStockParOrStatedValuePerShare" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_StockholdersEquity" xml:lang="en-US" id="us-gaap_StockholdersEquity">Total shareholders' equity</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_StockholdersEquity1" xml:lang="en-US" id="us-gaap_StockholdersEquity1">Ending balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity1" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity2" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_StockholdersEquity2" xml:lang="en-US" id="us-gaap_StockholdersEquity2">Beginning balance</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity2" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity2" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockholdersEquity_lbl3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockholdersEquity_lbl3" xml:lang="en-US" id="us-gaap_StockholdersEquity_lbl3">Equity, Attributable to Parent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockholdersEquity" xlink:to="us-gaap_StockholdersEquity_lbl3" xlink:title="label: StockholdersEquity to us-gaap_StockholdersEquity_lbl3" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxExpenseBenefit" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit">Income tax (benefit) expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxExpenseBenefit1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_IncomeTaxExpenseBenefit1" xml:lang="en-US" id="us-gaap_IncomeTaxExpenseBenefit1">Income tax (benefit) expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxExpenseBenefit" xlink:to="us-gaap_IncomeTaxExpenseBenefit1" xlink:title="label: IncomeTaxExpenseBenefit to us-gaap_IncomeTaxExpenseBenefit1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="ForeignCurrencyTransactionGainLossUnrealized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionGainLossUnrealized">Unrealized foreign currency transaction losses</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionGainLossUnrealized" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:title="label: ForeignCurrencyTransactionGainLossUnrealized to us-gaap_ForeignCurrencyTransactionGainLossUnrealized" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1" xml:lang="en-US" id="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1">Unrealized Gain (Loss), Foreign Currency Transaction, before Tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ForeignCurrencyTransactionGainLossUnrealized" xlink:to="us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1" xlink:title="label: ForeignCurrencyTransactionGainLossUnrealized to us-gaap_ForeignCurrencyTransactionGainLossUnrealized_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StatementEquityComponentsAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StatementEquityComponentsAxis" xml:lang="en-US" id="us-gaap_StatementEquityComponentsAxis">Equity Components [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementEquityComponentsAxis" xlink:to="us-gaap_StatementEquityComponentsAxis" xlink:title="label: StatementEquityComponentsAxis to us-gaap_StatementEquityComponentsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdditionalPaidInCapitalMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdditionalPaidInCapitalMember" xml:lang="en-US" id="us-gaap_AdditionalPaidInCapitalMember">Additional Paid-in Capital [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdditionalPaidInCapitalMember" xlink:to="us-gaap_AdditionalPaidInCapitalMember" xlink:title="label: AdditionalPaidInCapitalMember to us-gaap_AdditionalPaidInCapitalMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RetainedEarningsMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RetainedEarningsMember" xml:lang="en-US" id="us-gaap_RetainedEarningsMember">Retained Earnings [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RetainedEarningsMember" xlink:to="us-gaap_RetainedEarningsMember" xlink:title="label: RetainedEarningsMember to us-gaap_RetainedEarningsMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeMember">Accumulated Other Comprehensive Loss [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:title="label: AccumulatedOtherComprehensiveIncomeMember to us-gaap_AccumulatedOtherComprehensiveIncomeMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xml:lang="en-US" id="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1">AOCI Attributable to Parent [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccumulatedOtherComprehensiveIncomeMember" xlink:to="us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" xlink:title="label: AccumulatedOtherComprehensiveIncomeMember to us-gaap_AccumulatedOtherComprehensiveIncomeMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EquityComponentDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EquityComponentDomain" xml:lang="en-US" id="us-gaap_EquityComponentDomain">Equity Component [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EquityComponentDomain" xlink:to="us-gaap_EquityComponentDomain" xlink:title="label: EquityComponentDomain to us-gaap_EquityComponentDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="CapitalExpendituresIncurredButNotYetPaid" xlink:title="CapitalExpendituresIncurredButNotYetPaid" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xml:lang="en-US" id="us-gaap_CapitalExpendituresIncurredButNotYetPaid">Non-cash capital expenditure items</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:title="label: CapitalExpendituresIncurredButNotYetPaid to us-gaap_CapitalExpendituresIncurredButNotYetPaid" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl1" xml:lang="en-US" id="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl1">Capital Expenditures Incurred but Not yet Paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CapitalExpendituresIncurredButNotYetPaid" xlink:to="us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl1" xlink:title="label: CapitalExpendituresIncurredButNotYetPaid to us-gaap_CapitalExpendituresIncurredButNotYetPaid_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">Issuance of common stock from restricted stock units</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="label: StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1">Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:to="us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" xlink:title="label: StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures to us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">Issuance of shares from stock awards (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="label: StockIssuedDuringPeriodSharesStockOptionsExercised to us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" xml:lang="en-US" id="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1">Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:to="us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" xlink:title="label: StockIssuedDuringPeriodSharesStockOptionsExercised to us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryFinishedGoodsNetOfReserves" xml:lang="en-US" id="us-gaap_InventoryFinishedGoodsNetOfReserves">Finished goods</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryFinishedGoodsNetOfReserves" xlink:to="us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:title="label: InventoryFinishedGoodsNetOfReserves to us-gaap_InventoryFinishedGoodsNetOfReserves" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xml:lang="en-US" id="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves">Raw materials and purchased component parts</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:to="us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="label: InventoryRawMaterialsAndSuppliesNetOfReserves to us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsGross" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredFinanceCostsGross" xml:lang="en-US" id="us-gaap_DeferredFinanceCostsGross">Deferred financing costs</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross" xlink:title="label: DeferredFinanceCostsGross to us-gaap_DeferredFinanceCostsGross" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredFinanceCostsGross_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredFinanceCostsGross_lbl1" xml:lang="en-US" id="us-gaap_DeferredFinanceCostsGross_lbl1">Debt Issuance Costs, Gross</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredFinanceCostsGross" xlink:to="us-gaap_DeferredFinanceCostsGross_lbl1" xlink:title="label: DeferredFinanceCostsGross to us-gaap_DeferredFinanceCostsGross_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockTransactionsParentheticalDisclosuresAbstract" xlink:label="StockTransactionsParentheticalDisclosuresAbstract" xlink:title="StockTransactionsParentheticalDisclosuresAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockTransactionsParentheticalDisclosuresAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_StockTransactionsParentheticalDisclosuresAbstract" xml:lang="en-US" id="us-gaap_StockTransactionsParentheticalDisclosuresAbstract">Supplemental share information</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockTransactionsParentheticalDisclosuresAbstract" xlink:to="us-gaap_StockTransactionsParentheticalDisclosuresAbstract" xlink:title="label: StockTransactionsParentheticalDisclosuresAbstract to us-gaap_StockTransactionsParentheticalDisclosuresAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockTransactionsParentheticalDisclosuresAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockTransactionsParentheticalDisclosuresAbstract_lbl1" xml:lang="en-US" id="us-gaap_StockTransactionsParentheticalDisclosuresAbstract_lbl1">Stock Transactions, Parenthetical Disclosure [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockTransactionsParentheticalDisclosuresAbstract" xlink:to="us-gaap_StockTransactionsParentheticalDisclosuresAbstract_lbl1" xlink:title="label: StockTransactionsParentheticalDisclosuresAbstract to us-gaap_StockTransactionsParentheticalDisclosuresAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="EarningsPerShareTextBlock" xlink:title="EarningsPerShareTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_EarningsPerShareTextBlock" xml:lang="en-US" id="us-gaap_EarningsPerShareTextBlock">Earnings per share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock" xlink:title="label: EarningsPerShareTextBlock to us-gaap_EarningsPerShareTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EarningsPerShareTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EarningsPerShareTextBlock_lbl1" xml:lang="en-US" id="us-gaap_EarningsPerShareTextBlock_lbl1">Earnings Per Share [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EarningsPerShareTextBlock" xlink:to="us-gaap_EarningsPerShareTextBlock_lbl1" xlink:title="label: EarningsPerShareTextBlock to us-gaap_EarningsPerShareTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">Shares [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="label: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xml:lang="en-US" id="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1">Weighted Average Number of Shares Outstanding Reconciliation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" xlink:title="label: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LeasesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LeasesAbstract" xml:lang="en-US" id="us-gaap_LeasesAbstract">Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LeasesAbstract" xlink:to="us-gaap_LeasesAbstract" xlink:title="label: LeasesAbstract to us-gaap_LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CommitmentsAndContingencies" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CommitmentsAndContingencies" xml:lang="en-US" id="us-gaap_CommitmentsAndContingencies">Commitments and contingencies (see Notes 5 and 7)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CommitmentsAndContingencies" xlink:to="us-gaap_CommitmentsAndContingencies" xlink:title="label: CommitmentsAndContingencies to us-gaap_CommitmentsAndContingencies" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xml:lang="en-US" id="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">Adjustments to reconcile net (loss) income to net cash used in operating activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="label: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountsPayableCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountsPayableCurrent" xml:lang="en-US" id="us-gaap_AccountsPayableCurrent">Accounts payable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountsPayableCurrent" xlink:to="us-gaap_AccountsPayableCurrent" xlink:title="label: AccountsPayableCurrent to us-gaap_AccountsPayableCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccruedLiabilitiesCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccruedLiabilitiesCurrent" xml:lang="en-US" id="us-gaap_AccruedLiabilitiesCurrent">Accrued liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccruedLiabilitiesCurrent" xlink:to="us-gaap_AccruedLiabilitiesCurrent" xlink:title="label: AccruedLiabilitiesCurrent to us-gaap_AccruedLiabilitiesCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">Share-based compensation expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xml:lang="en-US" id="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1">APIC, Share-Based Payment Arrangement, Increase for Cost Recognition</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:to="us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" xlink:title="label: AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue to us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">(Loss) income before income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xml:lang="en-US" id="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1">Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:to="us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" xlink:title="label: IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest to us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">Accrued liabilities and other liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:to="us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="label: IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities to us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xml:lang="en-US" id="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">Withholding taxes paid on stock issuances</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="label: PaymentsRelatedToTaxWithholdingForShareBasedCompensation to us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1">Payment, Tax Withholding, Share-Based Payment Arrangement</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: PaymentsRelatedToTaxWithholdingForShareBasedCompensation to us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">Relinquishment of stock awards to pay withholding taxes (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xml:lang="en-US" id="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1">Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:to="us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" xlink:title="label: SharesPaidForTaxWithholdingForShareBasedCompensation to us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xml:lang="en-US" id="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">Significant accounting policies</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:to="us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="label: BasisOfPresentationAndSignificantAccountingPoliciesTextBlock to us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:title="BusinessDescriptionAndBasisOfPresentationTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xml:lang="en-US" id="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">Basis of Presentation</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:title="label: BusinessDescriptionAndBasisOfPresentationTextBlock to us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl1" xml:lang="en-US" id="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl1">Business Description and Basis of Presentation [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:to="us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl1" xlink:title="label: BusinessDescriptionAndBasisOfPresentationTextBlock to us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="InterestIncomeExpenseNonoperatingNet" xlink:title="InterestIncomeExpenseNonoperatingNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_InterestIncomeExpenseNonoperatingNet" xml:lang="en-US" id="us-gaap_InterestIncomeExpenseNonoperatingNet">Interest, net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:title="label: InterestIncomeExpenseNonoperatingNet to us-gaap_InterestIncomeExpenseNonoperatingNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl1" xml:lang="en-US" id="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl1">Interest Income (Expense), Nonoperating, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InterestIncomeExpenseNonoperatingNet" xlink:to="us-gaap_InterestIncomeExpenseNonoperatingNet_lbl1" xlink:title="label: InterestIncomeExpenseNonoperatingNet to us-gaap_InterestIncomeExpenseNonoperatingNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xml:lang="en-US" id="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">Basis of Presentation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="label: OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract to us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="ScheduleOfInventoryCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfInventoryCurrentTableTextBlock">Inventories</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:title="label: ScheduleOfInventoryCurrentTableTextBlock to us-gaap_ScheduleOfInventoryCurrentTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1">Schedule of Inventory, Current [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfInventoryCurrentTableTextBlock" xlink:to="us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" xlink:title="label: ScheduleOfInventoryCurrentTableTextBlock to us-gaap_ScheduleOfInventoryCurrentTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncomeTaxDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncomeTaxDisclosureAbstract" xml:lang="en-US" id="us-gaap_IncomeTaxDisclosureAbstract">Income taxes [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="us-gaap_IncomeTaxDisclosureAbstract" xlink:title="label: IncomeTaxDisclosureAbstract to us-gaap_IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="SubsequentEventsTextBlock" xlink:title="SubsequentEventsTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_SubsequentEventsTextBlock" xml:lang="en-US" id="us-gaap_SubsequentEventsTextBlock">Subsequent events</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock" xlink:title="label: SubsequentEventsTextBlock to us-gaap_SubsequentEventsTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SubsequentEventsTextBlock_lbl1" xml:lang="en-US" id="us-gaap_SubsequentEventsTextBlock_lbl1">Subsequent Events [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsTextBlock" xlink:to="us-gaap_SubsequentEventsTextBlock_lbl1" xlink:title="label: SubsequentEventsTextBlock to us-gaap_SubsequentEventsTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_InventoryDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_InventoryDisclosureAbstract" xml:lang="en-US" id="us-gaap_InventoryDisclosureAbstract">Inventories [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InventoryDisclosureAbstract" xlink:to="us-gaap_InventoryDisclosureAbstract" xlink:title="label: InventoryDisclosureAbstract to us-gaap_InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtDisclosureAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtDisclosureAbstract" xml:lang="en-US" id="us-gaap_DebtDisclosureAbstract">Borrowings [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtDisclosureAbstract" xlink:to="us-gaap_DebtDisclosureAbstract" xlink:title="label: DebtDisclosureAbstract to us-gaap_DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="UseOfEstimates" xlink:title="UseOfEstimates" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UseOfEstimates" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_UseOfEstimates" xml:lang="en-US" id="us-gaap_UseOfEstimates">Use of Assumptions and Estimates</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UseOfEstimates" xlink:to="us-gaap_UseOfEstimates" xlink:title="label: UseOfEstimates to us-gaap_UseOfEstimates" />
    <link:label xlink:type="resource" xlink:label="us-gaap_UseOfEstimates_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_UseOfEstimates_lbl1" xml:lang="en-US" id="us-gaap_UseOfEstimates_lbl1">Use of Estimates, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="UseOfEstimates" xlink:to="us-gaap_UseOfEstimates_lbl1" xlink:title="label: UseOfEstimates to us-gaap_UseOfEstimates_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">Percentage fee on unused borrowings</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="label: LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage to us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xml:lang="en-US" id="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1">Line of Credit Facility, Unused Capacity, Commitment Fee Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:to="us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" xlink:title="label: LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage to us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_IncreaseDecreaseInPrepaidTaxes" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidTaxes">Prepaid income taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidTaxes" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:title="label: IncreaseDecreaseInPrepaidTaxes to us-gaap_IncreaseDecreaseInPrepaidTaxes" />
    <link:label xlink:type="resource" xlink:label="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xml:lang="en-US" id="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1">Increase (Decrease) in Prepaid Taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="IncreaseDecreaseInPrepaidTaxes" xlink:to="us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" xlink:title="label: IncreaseDecreaseInPrepaidTaxes to us-gaap_IncreaseDecreaseInPrepaidTaxes_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_AccountingPoliciesAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_AccountingPoliciesAbstract" xml:lang="en-US" id="us-gaap_AccountingPoliciesAbstract">Significant accounting policies [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AccountingPoliciesAbstract" xlink:to="us-gaap_AccountingPoliciesAbstract" xlink:title="label: AccountingPoliciesAbstract to us-gaap_AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="SubsequentEventsAbstract" xlink:title="SubsequentEventsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_SubsequentEventsAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_SubsequentEventsAbstract" xml:lang="en-US" id="us-gaap_SubsequentEventsAbstract">Subsequent events [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SubsequentEventsAbstract" xlink:to="us-gaap_SubsequentEventsAbstract" xlink:title="label: SubsequentEventsAbstract to us-gaap_SubsequentEventsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:label="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xml:lang="en-US" id="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited">Relinquishment of stock awards to pay for withholding taxes</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:to="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="label: StockGrantedDuringPeriodValueSharebasedCompensationForfeited to us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" />
    <link:label xlink:type="resource" xlink:label="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1" xml:lang="en-US" id="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1">Shares Granted, Value, Share-Based Payment Arrangement, Forfeited</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:to="us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1" xlink:title="label: StockGrantedDuringPeriodValueSharebasedCompensationForfeited to us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="NoncashInvestingAndFinancingItemsAbstract" xlink:title="NoncashInvestingAndFinancingItemsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xml:lang="en-US" id="us-gaap_NoncashInvestingAndFinancingItemsAbstract">Supplemental schedule of non-cash investing activities:</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:title="label: NoncashInvestingAndFinancingItemsAbstract to us-gaap_NoncashInvestingAndFinancingItemsAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl1" xml:lang="en-US" id="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl1">Noncash Investing and Financing Items [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NoncashInvestingAndFinancingItemsAbstract" xlink:to="us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl1" xlink:title="label: NoncashInvestingAndFinancingItemsAbstract to us-gaap_NoncashInvestingAndFinancingItemsAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">Earnings per Share</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="label: ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock to us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1">Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:to="us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" xlink:title="label: ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock to us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="BasisOfAccountingPolicyPolicyTextBlock" xlink:title="BasisOfAccountingPolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xml:lang="en-US" id="us-gaap_BasisOfAccountingPolicyPolicyTextBlock">Basis of Accounting</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:title="label: BasisOfAccountingPolicyPolicyTextBlock to us-gaap_BasisOfAccountingPolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl1" xml:lang="en-US" id="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl1">Basis of Accounting, Policy [Policy Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="BasisOfAccountingPolicyPolicyTextBlock" xlink:to="us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl1" xlink:title="label: BasisOfAccountingPolicyPolicyTextBlock to us-gaap_BasisOfAccountingPolicyPolicyTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xml:lang="en-US" id="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">Recently issued accounting pronouncements</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:to="us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="label: NewAccountingPronouncementsPolicyPolicyTextBlock to us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">Foreign currency translation adjustment, net of tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1" xml:lang="en-US" id="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1">Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:to="us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1" xlink:title="label: OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax to us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xml:lang="en-US" id="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">Basis spread on variable rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentBasisSpreadOnVariableRate1" xlink:to="us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="label: DebtInstrumentBasisSpreadOnVariableRate1 to us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VariableRateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VariableRateAxis" xml:lang="en-US" id="us-gaap_VariableRateAxis">Variable Rate [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VariableRateAxis" xlink:to="us-gaap_VariableRateAxis" xlink:title="label: VariableRateAxis to us-gaap_VariableRateAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:label xlink:type="resource" xlink:label="us-gaap_VariableRateDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_VariableRateDomain" xml:lang="en-US" id="us-gaap_VariableRateDomain">Variable Rate [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="VariableRateDomain" xlink:to="us-gaap_VariableRateDomain" xlink:title="label: VariableRateDomain to us-gaap_VariableRateDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_PrimeRateMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_PrimeRateMember" xml:lang="en-US" id="us-gaap_PrimeRateMember">Prime Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PrimeRateMember" xlink:to="us-gaap_PrimeRateMember" xlink:title="label: PrimeRateMember to us-gaap_PrimeRateMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FederalFundsEffectiveSwapRateMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_FederalFundsEffectiveSwapRateMember" xml:lang="en-US" id="us-gaap_FederalFundsEffectiveSwapRateMember">Federal Funds Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FederalFundsEffectiveSwapRateMember" xlink:to="us-gaap_FederalFundsEffectiveSwapRateMember" xlink:title="label: FederalFundsEffectiveSwapRateMember to us-gaap_FederalFundsEffectiveSwapRateMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xml:lang="en-US" id="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1">Fed Funds Effective Rate Overnight Index Swap Rate [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FederalFundsEffectiveSwapRateMember" xlink:to="us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" xlink:title="label: FederalFundsEffectiveSwapRateMember to us-gaap_FederalFundsEffectiveSwapRateMember_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet">Deferred tax assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xml:lang="en-US" id="us-gaap_DeferredIncomeTaxAssetsNet_lbl1">Deferred Income Tax Assets, Net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DeferredIncomeTaxAssetsNet" xlink:to="us-gaap_DeferredIncomeTaxAssetsNet_lbl1" xlink:title="label: DeferredIncomeTaxAssetsNet to us-gaap_DeferredIncomeTaxAssetsNet_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonMember" xml:lang="en-US" id="us-gaap_TreasuryStockCommonMember">Treasury Stock [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonMember" xlink:to="us-gaap_TreasuryStockCommonMember" xlink:title="label: TreasuryStockCommonMember to us-gaap_TreasuryStockCommonMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:label xlink:type="resource" xlink:label="us-gaap_TreasuryStockCommonShares" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_TreasuryStockCommonShares" xml:lang="en-US" id="us-gaap_TreasuryStockCommonShares">Treasury stock (in shares)</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TreasuryStockCommonShares" xlink:to="us-gaap_TreasuryStockCommonShares" xlink:title="label: TreasuryStockCommonShares to us-gaap_TreasuryStockCommonShares" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueAbstract" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueAbstract">Disaggregation of revenue [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="us-gaap_DisaggregationOfRevenueAbstract" xlink:title="label: DisaggregationOfRevenueAbstract to us-gaap_DisaggregationOfRevenueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_DisaggregationOfRevenueTableTextBlock" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTableTextBlock">Disaggregation of Revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:title="label: DisaggregationOfRevenueTableTextBlock to us-gaap_DisaggregationOfRevenueTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1">Disaggregation of Revenue [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTableTextBlock" xlink:to="us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" xlink:title="label: DisaggregationOfRevenueTableTextBlock to us-gaap_DisaggregationOfRevenueTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueTable" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueTable">Disaggregation of Revenue [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueTable" xlink:to="us-gaap_DisaggregationOfRevenueTable" xlink:title="label: DisaggregationOfRevenueTable to us-gaap_DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_DisaggregationOfRevenueLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_DisaggregationOfRevenueLineItems" xml:lang="en-US" id="us-gaap_DisaggregationOfRevenueLineItems">Disaggregation of Revenue [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="us-gaap_DisaggregationOfRevenueLineItems" xlink:title="label: DisaggregationOfRevenueLineItems to us-gaap_DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueRemainingPerformanceObligation" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligation">Remaining performance obligations</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation" xlink:title="label: RevenueRemainingPerformanceObligation to us-gaap_RevenueRemainingPerformanceObligation" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligation_lbl1">Revenue, Remaining Performance Obligation, Amount</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligation" xlink:to="us-gaap_RevenueRemainingPerformanceObligation_lbl1" xlink:title="label: RevenueRemainingPerformanceObligation to us-gaap_RevenueRemainingPerformanceObligation_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetNetCurrent" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetCurrent">Unbilled receivables, current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent" xlink:title="label: ContractWithCustomerAssetNetCurrent to us-gaap_ContractWithCustomerAssetNetCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1">Contract with Customer, Asset, after Allowance for Credit Loss, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetCurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" xlink:title="label: ContractWithCustomerAssetNetCurrent to us-gaap_ContractWithCustomerAssetNetCurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetNetNoncurrent" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetNoncurrent">Unbilled receivables, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetNoncurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:title="label: ContractWithCustomerAssetNetNoncurrent to us-gaap_ContractWithCustomerAssetNetNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1">Contract with Customer, Asset, after Allowance for Credit Loss, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetNetNoncurrent" xlink:to="us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" xlink:title="label: ContractWithCustomerAssetNetNoncurrent to us-gaap_ContractWithCustomerAssetNetNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerAbstract" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerAbstract">Revenue [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="us-gaap_RevenueFromContractWithCustomerAbstract" xlink:title="label: RevenueFromContractWithCustomerAbstract to us-gaap_RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="RevenueFromContractWithCustomerTextBlock" xlink:title="RevenueFromContractWithCustomerTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueFromContractWithCustomerTextBlock" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerTextBlock">Revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:title="label: RevenueFromContractWithCustomerTextBlock to us-gaap_RevenueFromContractWithCustomerTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl1" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl1">Revenue from Contract with Customer [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerTextBlock" xlink:to="us-gaap_RevenueFromContractWithCustomerTextBlock_lbl1" xlink:title="label: RevenueFromContractWithCustomerTextBlock to us-gaap_RevenueFromContractWithCustomerTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenuePerformanceObligationAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenuePerformanceObligationAbstract" xml:lang="en-US" id="us-gaap_RevenuePerformanceObligationAbstract">Remaining performance obligations [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="us-gaap_RevenuePerformanceObligationAbstract" xlink:title="label: RevenuePerformanceObligationAbstract to us-gaap_RevenuePerformanceObligationAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xml:lang="en-US" id="us-gaap_RevenuePerformanceObligationAbstract_lbl1">Revenue, Performance Obligation [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="us-gaap_RevenuePerformanceObligationAbstract_lbl1" xlink:title="label: RevenuePerformanceObligationAbstract to us-gaap_RevenuePerformanceObligationAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="CashFlowOperatingActivitiesLesseeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xml:lang="en-US" id="us-gaap_CashFlowOperatingActivitiesLesseeAbstract">Cash Flows Related to Operating Leases [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:title="label: CashFlowOperatingActivitiesLesseeAbstract to us-gaap_CashFlowOperatingActivitiesLesseeAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xml:lang="en-US" id="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1">Cash Flow, Operating Activities, Lessee [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" xlink:title="label: CashFlowOperatingActivitiesLesseeAbstract to us-gaap_CashFlowOperatingActivitiesLesseeAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="ContractWithCustomerLiabilityAbstract" xlink:title="ContractWithCustomerLiabilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityAbstract" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityAbstract">Contract liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract" xlink:title="label: ContractWithCustomerLiabilityAbstract to us-gaap_ContractWithCustomerLiabilityAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityAbstract_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityAbstract_lbl1">Contract with Customer, Liability [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="us-gaap_ContractWithCustomerLiabilityAbstract_lbl1" xlink:title="label: ContractWithCustomerLiabilityAbstract to us-gaap_ContractWithCustomerLiabilityAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityCurrent" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityCurrent">Deferred revenue</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent" xlink:title="label: ContractWithCustomerLiabilityCurrent to us-gaap_ContractWithCustomerLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityCurrent1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityCurrent1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityCurrent1">Deferred revenue, current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityCurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityCurrent1" xlink:title="label: ContractWithCustomerLiabilityCurrent to us-gaap_ContractWithCustomerLiabilityCurrent1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerLiabilityNoncurrent" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityNoncurrent">Deferred revenue, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:title="label: ContractWithCustomerLiabilityNoncurrent to us-gaap_ContractWithCustomerLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerLiabilityNoncurrent1" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="us-gaap_ContractWithCustomerLiabilityNoncurrent1" xml:lang="en-US" id="us-gaap_ContractWithCustomerLiabilityNoncurrent1">Deferred revenue, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityNoncurrent" xlink:to="us-gaap_ContractWithCustomerLiabilityNoncurrent1" xlink:title="label: ContractWithCustomerLiabilityNoncurrent to us-gaap_ContractWithCustomerLiabilityNoncurrent1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseRightOfUseAsset" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAsset">Right-of-use assets</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset" xlink:title="label: OperatingLeaseRightOfUseAsset to us-gaap_OperatingLeaseRightOfUseAsset" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseRightOfUseAsset_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseRightOfUseAsset_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseRightOfUseAsset_lbl1">Operating Lease, Right-of-Use Asset</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseRightOfUseAsset" xlink:to="us-gaap_OperatingLeaseRightOfUseAsset_lbl1" xlink:title="label: OperatingLeaseRightOfUseAsset to us-gaap_OperatingLeaseRightOfUseAsset_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">Maturity of Operating Lease Liabilities [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="label: OperatingLeaseLiabilitiesPaymentsDueAbstract to us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1">Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" xlink:title="label: OperatingLeaseLiabilitiesPaymentsDueAbstract to us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">Net sales</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl1" xml:lang="en-US" id="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl1">Revenue from Contract with Customer, Excluding Assessed Tax</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:to="us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl1" xlink:title="label: RevenueFromContractWithCustomerExcludingAssessedTax to us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:label="LesseeOperatingLeaseDescriptionAbstract" xlink:title="LesseeOperatingLeaseDescriptionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseDescriptionAbstract" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseDescriptionAbstract">Operating Lease Weighted Average Remaining Lease Term and Discount Rate [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:title="label: LesseeOperatingLeaseDescriptionAbstract to us-gaap_LesseeOperatingLeaseDescriptionAbstract" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1">Lessee, Operating Lease, Description [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" xlink:title="label: LesseeOperatingLeaseDescriptionAbstract to us-gaap_LesseeOperatingLeaseDescriptionAbstract_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US" id="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">Effect of exchange rate changes on cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="label: EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">Decrease in cash and cash equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">Cash and cash equivalents, beginning of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1">Cash and cash equivalents, end of period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xml:lang="en-US" id="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2">Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:to="us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" xlink:title="label: CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents to us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_lbl2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="OperatingLeasePayments" xlink:title="OperatingLeasePayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeasePayments" xml:lang="en-US" id="us-gaap_OperatingLeasePayments">Operating cash outflows from leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments" xlink:title="label: OperatingLeasePayments to us-gaap_OperatingLeasePayments" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeasePayments_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeasePayments_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeasePayments_lbl1">Operating Lease, Payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeasePayments" xlink:to="us-gaap_OperatingLeasePayments_lbl1" xlink:title="label: OperatingLeasePayments to us-gaap_OperatingLeasePayments_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">Weighted average discount rate</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="label: OperatingLeaseWeightedAverageDiscountRatePercent to us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1">Operating Lease, Weighted Average Discount Rate, Percent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:to="us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" xlink:title="label: OperatingLeaseWeightedAverageDiscountRatePercent to us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">Total undiscounted lease payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDue to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1">Lessee, Operating Lease, Liability, to be Paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDue to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">2025</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">2026</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsDueYearTwo to us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:title="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">2024</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:title="label: LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear to us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">Maturity of Operating Lease Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="label: LesseeOperatingLeaseLiabilityMaturityTableTextBlock to us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1">Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseLiabilityMaturityTableTextBlock to us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="OperatingLeaseExpense" xlink:title="OperatingLeaseExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseExpense" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseExpense" xml:lang="en-US" id="us-gaap_OperatingLeaseExpense">Operating lease expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense" xlink:title="label: OperatingLeaseExpense to us-gaap_OperatingLeaseExpense" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseExpense_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseExpense_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseExpense_lbl1">Operating Lease, Expense</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseExpense" xlink:to="us-gaap_OperatingLeaseExpense_lbl1" xlink:title="label: OperatingLeaseExpense to us-gaap_OperatingLeaseExpense_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiability" xml:lang="en-US" id="us-gaap_OperatingLeaseLiability">Total lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability" xlink:title="label: OperatingLeaseLiability to us-gaap_OperatingLeaseLiability" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiability_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiability_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiability_lbl1">Operating Lease, Liability</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiability" xlink:to="us-gaap_OperatingLeaseLiability_lbl1" xlink:title="label: OperatingLeaseLiability to us-gaap_OperatingLeaseLiability_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityCurrent" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityCurrent">Lease liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityCurrent" xlink:to="us-gaap_OperatingLeaseLiabilityCurrent" xlink:title="label: OperatingLeaseLiabilityCurrent to us-gaap_OperatingLeaseLiabilityCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xml:lang="en-US" id="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">Less imputed interest</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:to="us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="label: LesseeOperatingLeaseLiabilityUndiscountedExcessAmount to us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrent">Lease liabilities, net of current portion</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:title="label: OperatingLeaseLiabilityNoncurrent to us-gaap_OperatingLeaseLiabilityNoncurrent" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1">Operating Lease, Liability, Noncurrent</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseLiabilityNoncurrent" xlink:to="us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" xlink:title="label: OperatingLeaseLiabilityNoncurrent to us-gaap_OperatingLeaseLiabilityNoncurrent_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">Net Contract Liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="label: ContractWithCustomerAssetAndLiabilityTableTextBlock to us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xml:lang="en-US" id="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1">Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:to="us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" xlink:title="label: ContractWithCustomerAssetAndLiabilityTableTextBlock to us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="LesseeOperatingLeasesTextBlock" xlink:title="LesseeOperatingLeasesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_LesseeOperatingLeasesTextBlock" xml:lang="en-US" id="us-gaap_LesseeOperatingLeasesTextBlock">Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock" xlink:title="label: LesseeOperatingLeasesTextBlock to us-gaap_LesseeOperatingLeasesTextBlock" />
    <link:label xlink:type="resource" xlink:label="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xml:lang="en-US" id="us-gaap_LesseeOperatingLeasesTextBlock_lbl1">Lessee, Operating Leases [Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeasesTextBlock" xlink:to="us-gaap_LesseeOperatingLeasesTextBlock_lbl1" xlink:title="label: LesseeOperatingLeasesTextBlock to us-gaap_LesseeOperatingLeasesTextBlock_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">Weighted average remaining lease term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="label: OperatingLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xml:lang="en-US" id="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1">Operating Lease, Weighted Average Remaining Lease Term</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:to="us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" xlink:title="label: OperatingLeaseWeightedAverageRemainingLeaseTerm1 to us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">Expected timing of satisfaction, period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:label xlink:type="resource" xlink:label="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xml:lang="en-US" id="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:to="us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" xlink:title="label: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 to us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1_lbl1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="ScenarioUnspecifiedDomain" xlink:title="ScenarioUnspecifiedDomain" />
    <link:label xlink:type="resource" xlink:label="srt_ScenarioUnspecifiedDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ScenarioUnspecifiedDomain" xml:lang="en-US" id="srt_ScenarioUnspecifiedDomain">Scenario [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScenarioUnspecifiedDomain" xlink:to="srt_ScenarioUnspecifiedDomain" xlink:title="label: ScenarioUnspecifiedDomain to srt_ScenarioUnspecifiedDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="ScenarioForecastMember" xlink:title="ScenarioForecastMember" />
    <link:label xlink:type="resource" xlink:label="srt_ScenarioForecastMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ScenarioForecastMember" xml:lang="en-US" id="srt_ScenarioForecastMember">Forecast [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ScenarioForecastMember" xlink:to="srt_ScenarioForecastMember" xlink:title="label: ScenarioForecastMember to srt_ScenarioForecastMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="StatementScenarioAxis" xlink:title="StatementScenarioAxis" />
    <link:label xlink:type="resource" xlink:label="srt_StatementScenarioAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_StatementScenarioAxis" xml:lang="en-US" id="srt_StatementScenarioAxis">Scenario [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementScenarioAxis" xlink:to="srt_StatementScenarioAxis" xlink:title="label: StatementScenarioAxis to srt_StatementScenarioAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:label xlink:type="resource" xlink:label="srt_SegmentGeographicalDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_SegmentGeographicalDomain" xml:lang="en-US" id="srt_SegmentGeographicalDomain">Geographical [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SegmentGeographicalDomain" xlink:to="srt_SegmentGeographicalDomain" xlink:title="label: SegmentGeographicalDomain to srt_SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:label xlink:type="resource" xlink:label="srt_StatementGeographicalAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_StatementGeographicalAxis" xml:lang="en-US" id="srt_StatementGeographicalAxis">Geographical [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="StatementGeographicalAxis" xlink:to="srt_StatementGeographicalAxis" xlink:title="label: StatementGeographicalAxis to srt_StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:label xlink:type="resource" xlink:label="srt_RangeAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeAxis" xml:lang="en-US" id="srt_RangeAxis">Statistical Measurement [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeAxis" xlink:to="srt_RangeAxis" xlink:title="label: RangeAxis to srt_RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:label xlink:type="resource" xlink:label="srt_RangeMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_RangeMember" xml:lang="en-US" id="srt_RangeMember">Statistical Measurement [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RangeMember" xlink:to="srt_RangeMember" xlink:title="label: RangeMember to srt_RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:label xlink:type="resource" xlink:label="srt_MinimumMember" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_MinimumMember" xml:lang="en-US" id="srt_MinimumMember">Minimum [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="MinimumMember" xlink:to="srt_MinimumMember" xlink:title="label: MinimumMember to srt_MinimumMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:label xlink:type="resource" xlink:label="srt_ProductsAndServicesDomain" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ProductsAndServicesDomain" xml:lang="en-US" id="srt_ProductsAndServicesDomain">Product and Service [Domain]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductsAndServicesDomain" xlink:to="srt_ProductsAndServicesDomain" xlink:title="label: ProductsAndServicesDomain to srt_ProductsAndServicesDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:label xlink:type="resource" xlink:label="srt_ProductOrServiceAxis" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="srt_ProductOrServiceAxis" xml:lang="en-US" id="srt_ProductOrServiceAxis">Product and Service [Axis]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ProductOrServiceAxis" xlink:to="srt_ProductOrServiceAxis" xlink:title="label: ProductOrServiceAxis to srt_ProductOrServiceAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:label xlink:type="resource" xlink:label="country_US" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="country_US" xml:lang="en-US" id="country_US">United States [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="US" xlink:to="country_US" xlink:title="label: US to country_US" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:label xlink:type="resource" xlink:label="dei_CoverAbstract" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CoverAbstract" xml:lang="en-US" id="dei_CoverAbstract">Cover [Abstract]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CoverAbstract" xlink:to="dei_CoverAbstract" xlink:title="label: CoverAbstract to dei_CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentType" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentType" xml:lang="en-US" id="dei_DocumentType">Document Type</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentType" xlink:to="dei_DocumentType" xlink:title="label: DocumentType to dei_DocumentType" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="DocumentQuarterlyReport" xlink:title="DocumentQuarterlyReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentQuarterlyReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentQuarterlyReport" xml:lang="en-US" id="dei_DocumentQuarterlyReport">Document Quarterly Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentQuarterlyReport" xlink:to="dei_DocumentQuarterlyReport" xlink:title="label: DocumentQuarterlyReport to dei_DocumentQuarterlyReport" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentTransitionReport" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentTransitionReport" xml:lang="en-US" id="dei_DocumentTransitionReport">Document Transition Report</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentTransitionReport" xlink:to="dei_DocumentTransitionReport" xlink:title="label: DocumentTransitionReport to dei_DocumentTransitionReport" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:label xlink:type="resource" xlink:label="dei_EntityInteractiveDataCurrent" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityInteractiveDataCurrent" xml:lang="en-US" id="dei_EntityInteractiveDataCurrent">Entity Interactive Data Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityInteractiveDataCurrent" xlink:to="dei_EntityInteractiveDataCurrent" xlink:title="label: EntityInteractiveDataCurrent to dei_EntityInteractiveDataCurrent" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:label xlink:type="resource" xlink:label="dei_AmendmentFlag" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_AmendmentFlag" xml:lang="en-US" id="dei_AmendmentFlag">Amendment Flag</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="AmendmentFlag" xlink:to="dei_AmendmentFlag" xlink:title="label: AmendmentFlag to dei_AmendmentFlag" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalYearFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalYearFocus" xml:lang="en-US" id="dei_DocumentFiscalYearFocus">Document Fiscal Year Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalYearFocus" xlink:to="dei_DocumentFiscalYearFocus" xlink:title="label: DocumentFiscalYearFocus to dei_DocumentFiscalYearFocus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentFiscalPeriodFocus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentFiscalPeriodFocus" xml:lang="en-US" id="dei_DocumentFiscalPeriodFocus">Document Fiscal Period Focus</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentFiscalPeriodFocus" xlink:to="dei_DocumentFiscalPeriodFocus" xlink:title="label: DocumentFiscalPeriodFocus to dei_DocumentFiscalPeriodFocus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_DocumentPeriodEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_DocumentPeriodEndDate" xml:lang="en-US" id="dei_DocumentPeriodEndDate">Document Period End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DocumentPeriodEndDate" xlink:to="dei_DocumentPeriodEndDate" xlink:title="label: DocumentPeriodEndDate to dei_DocumentPeriodEndDate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:label xlink:type="resource" xlink:label="dei_EntityRegistrantName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityRegistrantName" xml:lang="en-US" id="dei_EntityRegistrantName">Entity Registrant Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityRegistrantName" xlink:to="dei_EntityRegistrantName" xlink:title="label: EntityRegistrantName to dei_EntityRegistrantName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCentralIndexKey" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCentralIndexKey" xml:lang="en-US" id="dei_EntityCentralIndexKey">Entity Central Index Key</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCentralIndexKey" xlink:to="dei_EntityCentralIndexKey" xlink:title="label: EntityCentralIndexKey to dei_EntityCentralIndexKey" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFileNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFileNumber" xml:lang="en-US" id="dei_EntityFileNumber">Entity File Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFileNumber" xlink:to="dei_EntityFileNumber" xlink:title="label: EntityFileNumber to dei_EntityFileNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:label xlink:type="resource" xlink:label="dei_EntityTaxIdentificationNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityTaxIdentificationNumber" xml:lang="en-US" id="dei_EntityTaxIdentificationNumber">Entity Tax Identification Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityTaxIdentificationNumber" xlink:to="dei_EntityTaxIdentificationNumber" xlink:title="label: EntityTaxIdentificationNumber to dei_EntityTaxIdentificationNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityIncorporationStateCountryCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityIncorporationStateCountryCode" xml:lang="en-US" id="dei_EntityIncorporationStateCountryCode">Entity Incorporation, State or Country Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityIncorporationStateCountryCode" xlink:to="dei_EntityIncorporationStateCountryCode" xlink:title="label: EntityIncorporationStateCountryCode to dei_EntityIncorporationStateCountryCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:label xlink:type="resource" xlink:label="dei_CurrentFiscalYearEndDate" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CurrentFiscalYearEndDate" xml:lang="en-US" id="dei_CurrentFiscalYearEndDate">Current Fiscal Year End Date</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentFiscalYearEndDate" xlink:to="dei_CurrentFiscalYearEndDate" xlink:title="label: CurrentFiscalYearEndDate to dei_CurrentFiscalYearEndDate" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCurrentReportingStatus" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCurrentReportingStatus" xml:lang="en-US" id="dei_EntityCurrentReportingStatus">Entity Current Reporting Status</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCurrentReportingStatus" xlink:to="dei_EntityCurrentReportingStatus" xlink:title="label: EntityCurrentReportingStatus to dei_EntityCurrentReportingStatus" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityShellCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityShellCompany" xml:lang="en-US" id="dei_EntityShellCompany">Entity Shell Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityShellCompany" xlink:to="dei_EntityShellCompany" xlink:title="label: EntityShellCompany to dei_EntityShellCompany" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:label xlink:type="resource" xlink:label="dei_EntityFilerCategory" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityFilerCategory" xml:lang="en-US" id="dei_EntityFilerCategory">Entity Filer Category</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityFilerCategory" xlink:to="dei_EntityFilerCategory" xlink:title="label: EntityFilerCategory to dei_EntityFilerCategory" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:label xlink:type="resource" xlink:label="dei_EntitySmallBusiness" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntitySmallBusiness" xml:lang="en-US" id="dei_EntitySmallBusiness">Entity Small Business</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntitySmallBusiness" xlink:to="dei_EntitySmallBusiness" xlink:title="label: EntitySmallBusiness to dei_EntitySmallBusiness" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:label xlink:type="resource" xlink:label="dei_EntityEmergingGrowthCompany" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityEmergingGrowthCompany" xml:lang="en-US" id="dei_EntityEmergingGrowthCompany">Entity Emerging Growth Company</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityEmergingGrowthCompany" xlink:to="dei_EntityEmergingGrowthCompany" xlink:title="label: EntityEmergingGrowthCompany to dei_EntityEmergingGrowthCompany" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine1" xml:lang="en-US" id="dei_EntityAddressAddressLine1">Entity Address, Address Line One</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine1" xlink:to="dei_EntityAddressAddressLine1" xlink:title="label: EntityAddressAddressLine1 to dei_EntityAddressAddressLine1" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="EntityAddressAddressLine2" xlink:title="EntityAddressAddressLine2" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressAddressLine2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressAddressLine2" xml:lang="en-US" id="dei_EntityAddressAddressLine2">Entity Address, Address Line Two</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressAddressLine2" xlink:to="dei_EntityAddressAddressLine2" xlink:title="label: EntityAddressAddressLine2 to dei_EntityAddressAddressLine2" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressCityOrTown" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressCityOrTown" xml:lang="en-US" id="dei_EntityAddressCityOrTown">Entity Address, City or Town</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressCityOrTown" xlink:to="dei_EntityAddressCityOrTown" xlink:title="label: EntityAddressCityOrTown to dei_EntityAddressCityOrTown" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressStateOrProvince" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressStateOrProvince" xml:lang="en-US" id="dei_EntityAddressStateOrProvince">Entity Address, State or Province</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressStateOrProvince" xlink:to="dei_EntityAddressStateOrProvince" xlink:title="label: EntityAddressStateOrProvince to dei_EntityAddressStateOrProvince" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:label xlink:type="resource" xlink:label="dei_EntityAddressPostalZipCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityAddressPostalZipCode" xml:lang="en-US" id="dei_EntityAddressPostalZipCode">Entity Address, Postal Zip Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityAddressPostalZipCode" xlink:to="dei_EntityAddressPostalZipCode" xlink:title="label: EntityAddressPostalZipCode to dei_EntityAddressPostalZipCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:label xlink:type="resource" xlink:label="dei_CityAreaCode" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_CityAreaCode" xml:lang="en-US" id="dei_CityAreaCode">City Area Code</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CityAreaCode" xlink:to="dei_CityAreaCode" xlink:title="label: CityAreaCode to dei_CityAreaCode" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:label xlink:type="resource" xlink:label="dei_LocalPhoneNumber" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_LocalPhoneNumber" xml:lang="en-US" id="dei_LocalPhoneNumber">Local Phone Number</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LocalPhoneNumber" xlink:to="dei_LocalPhoneNumber" xlink:title="label: LocalPhoneNumber to dei_LocalPhoneNumber" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:label xlink:type="resource" xlink:label="dei_Security12bTitle" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_Security12bTitle" xml:lang="en-US" id="dei_Security12bTitle">Title of 12(b) Security</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="Security12bTitle" xlink:to="dei_Security12bTitle" xlink:title="label: Security12bTitle to dei_Security12bTitle" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:label xlink:type="resource" xlink:label="dei_TradingSymbol" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_TradingSymbol" xml:lang="en-US" id="dei_TradingSymbol">Trading Symbol</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TradingSymbol" xlink:to="dei_TradingSymbol" xlink:title="label: TradingSymbol to dei_TradingSymbol" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:label xlink:type="resource" xlink:label="dei_SecurityExchangeName" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_SecurityExchangeName" xml:lang="en-US" id="dei_SecurityExchangeName">Security Exchange Name</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="SecurityExchangeName" xlink:to="dei_SecurityExchangeName" xlink:title="label: SecurityExchangeName to dei_SecurityExchangeName" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:label xlink:type="resource" xlink:label="dei_EntityCommonStockSharesOutstanding" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="dei_EntityCommonStockSharesOutstanding" xml:lang="en-US" id="dei_EntityCommonStockSharesOutstanding">Entity Common Stock, Shares Outstanding</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="EntityCommonStockSharesOutstanding" xlink:to="dei_EntityCommonStockSharesOutstanding" xlink:title="label: EntityCommonStockSharesOutstanding to dei_EntityCommonStockSharesOutstanding" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:label="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl">Tabular disclosure of information related to lessee's operating leases, including weighted average lease term and discount rate.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1">Lessee, Operating Lease, Lease Term and Discount Rate [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xml:lang="en-US" id="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock">Additional Information Related to Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:to="tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="label: LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock to tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:label="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl">Tabular disclosure of supplemental information for the statement of cash flows related to operating leases.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1">Lessee, Operating Lease, Supplemental Disclosure for Cash Flows [Table Text Block]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xml:lang="en-US" id="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock">Cash Flows for Operating Leases</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:to="tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="label: LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock to tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CurrentBusinessTrendsDisclosureTable" xlink:label="CurrentBusinessTrendsDisclosureTable" xlink:title="CurrentBusinessTrendsDisclosureTable" />
    <link:label xlink:type="resource" xlink:label="tact_CurrentBusinessTrendsDisclosureTable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_CurrentBusinessTrendsDisclosureTable_lbl" xml:lang="en-US" id="tact_CurrentBusinessTrendsDisclosureTable_lbl">Disclosure of information about current business trends.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentBusinessTrendsDisclosureTable" xlink:to="tact_CurrentBusinessTrendsDisclosureTable_lbl" xlink:title="label: CurrentBusinessTrendsDisclosureTable to tact_CurrentBusinessTrendsDisclosureTable_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_CurrentBusinessTrendsDisclosureTable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_CurrentBusinessTrendsDisclosureTable_lbl1" xml:lang="en-US" id="tact_CurrentBusinessTrendsDisclosureTable_lbl1">Current Business Trends Disclosure [Table]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentBusinessTrendsDisclosureTable" xlink:to="tact_CurrentBusinessTrendsDisclosureTable_lbl1" xlink:title="label: CurrentBusinessTrendsDisclosureTable to tact_CurrentBusinessTrendsDisclosureTable_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CurrentBusinessTrendsLineItems" xlink:label="CurrentBusinessTrendsLineItems" xlink:title="CurrentBusinessTrendsLineItems" />
    <link:label xlink:type="resource" xlink:label="tact_CurrentBusinessTrendsLineItems_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_CurrentBusinessTrendsLineItems_lbl" xml:lang="en-US" id="tact_CurrentBusinessTrendsLineItems_lbl">Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentBusinessTrendsLineItems" xlink:to="tact_CurrentBusinessTrendsLineItems_lbl" xlink:title="label: CurrentBusinessTrendsLineItems to tact_CurrentBusinessTrendsLineItems_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_CurrentBusinessTrendsLineItems_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_CurrentBusinessTrendsLineItems_lbl1" xml:lang="en-US" id="tact_CurrentBusinessTrendsLineItems_lbl1">Current Business Trends [Line Items]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CurrentBusinessTrendsLineItems" xlink:to="tact_CurrentBusinessTrendsLineItems_lbl1" xlink:title="label: CurrentBusinessTrendsLineItems to tact_CurrentBusinessTrendsLineItems_lbl1" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_InternationalMember_lbl" xml:lang="en-US" id="tact_InternationalMember_lbl">Other countries outside of the United States.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalMember" xlink:to="tact_InternationalMember_lbl" xlink:title="label: InternationalMember to tact_InternationalMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_InternationalMember_lbl1" xml:lang="en-US" id="tact_InternationalMember_lbl1">International [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalMember" xlink:to="tact_InternationalMember_lbl1" xlink:title="label: InternationalMember to tact_InternationalMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_InternationalMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_InternationalMember" xml:lang="en-US" id="tact_InternationalMember">International [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="InternationalMember" xlink:to="tact_InternationalMember" xlink:title="label: InternationalMember to tact_InternationalMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_PosAutomationAndBankingMember_lbl" xml:lang="en-US" id="tact_PosAutomationAndBankingMember_lbl">Revenue from sales of thermal printers used primarily by restaurants (including fine dining, casual dining, quick serve and hospitality establishments) located either at the checkout counter or within self-service kiosks to print receipts for consumers or print on linerless labels.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember_lbl" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_PosAutomationAndBankingMember_lbl1" xml:lang="en-US" id="tact_PosAutomationAndBankingMember_lbl1">POS Automation and Banking [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember_lbl1" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_PosAutomationAndBankingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_PosAutomationAndBankingMember" xml:lang="en-US" id="tact_PosAutomationAndBankingMember">POS Automation [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="PosAutomationAndBankingMember" xlink:to="tact_PosAutomationAndBankingMember" xlink:title="label: PosAutomationAndBankingMember to tact_PosAutomationAndBankingMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_CasinoAndGamingMember_lbl" xml:lang="en-US" id="tact_CasinoAndGamingMember_lbl">Revenue from sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos and racetracks and other gaming venues worldwide.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember_lbl" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_CasinoAndGamingMember_lbl1" xml:lang="en-US" id="tact_CasinoAndGamingMember_lbl1">Casino and Gaming [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember_lbl1" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_CasinoAndGamingMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_CasinoAndGamingMember" xml:lang="en-US" id="tact_CasinoAndGamingMember">Casino and Gaming [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="CasinoAndGamingMember" xlink:to="tact_CasinoAndGamingMember" xlink:title="label: CasinoAndGamingMember to tact_CasinoAndGamingMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_FoodServiceTechnologyMember_lbl" xml:lang="en-US" id="tact_FoodServiceTechnologyMember_lbl">Revenue from sales of the BOHA! ecosystem, which combines the latest generation terminal, cloud-based software applications and related hardware into a unique solution to automate operations with food production in the back-of-house operations in restaurants and food service operations.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember_lbl" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_FoodServiceTechnologyMember_lbl1" xml:lang="en-US" id="tact_FoodServiceTechnologyMember_lbl1">Food Service Technology [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember_lbl1" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_FoodServiceTechnologyMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_FoodServiceTechnologyMember" xml:lang="en-US" id="tact_FoodServiceTechnologyMember">Food Service Technology [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="FoodServiceTechnologyMember" xlink:to="tact_FoodServiceTechnologyMember" xlink:title="label: FoodServiceTechnologyMember to tact_FoodServiceTechnologyMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_TransactServicesGroupMember_lbl" xml:lang="en-US" id="tact_TransactServicesGroupMember_lbl">Revenue from range of supplies and consumables used in the printing and scanning activities of customers in the restaurant and hospitality, banking, retail, casino and gaming, government and oil and gas exploration markets.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember_lbl" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_TransactServicesGroupMember_lbl1" xml:lang="en-US" id="tact_TransactServicesGroupMember_lbl1">TransAct Services Group [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember_lbl1" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_TransactServicesGroupMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_TransactServicesGroupMember" xml:lang="en-US" id="tact_TransactServicesGroupMember">TransAct Services Group [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="TransactServicesGroupMember" xlink:to="tact_TransactServicesGroupMember" xlink:title="label: TransactServicesGroupMember to tact_TransactServicesGroupMember" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_ContractWithCustomerRevenueRecognized" xlink:label="ContractWithCustomerRevenueRecognized" xlink:title="ContractWithCustomerRevenueRecognized" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerRevenueRecognized_lbl" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized_lbl">Amount of revenue recognized related to obligation to transfer good or service to customer for which consideration from customer has been received or is due.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized_lbl" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerRevenueRecognized_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized_lbl1">Contract with Customer, Revenue Recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized_lbl1" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerRevenueRecognized" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_ContractWithCustomerRevenueRecognized" xml:lang="en-US" id="tact_ContractWithCustomerRevenueRecognized">Revenue recognized</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerRevenueRecognized" xlink:to="tact_ContractWithCustomerRevenueRecognized" xlink:title="label: ContractWithCustomerRevenueRecognized to tact_ContractWithCustomerRevenueRecognized" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerAssetLiabilityNet_lbl" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet_lbl">Amount, after allowance for credit loss, of right (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet_lbl" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet_lbl1">Contract with Customer, Asset (Liability), net</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet_lbl1" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerAssetLiabilityNet" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:title="tact_ContractWithCustomerAssetLiabilityNet" xml:lang="en-US" id="tact_ContractWithCustomerAssetLiabilityNet">Total net contract liabilities</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerAssetLiabilityNet" xlink:to="tact_ContractWithCustomerAssetLiabilityNet" xlink:title="label: ContractWithCustomerAssetLiabilityNet to tact_ContractWithCustomerAssetLiabilityNet" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl">Amount of obligation to transfer good or service to customer related to customer prepayments for which consideration has been received or is receivable, classified as current.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1">Contract with Customer, Liability for Customer Prepayments, Current</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:title="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xml:lang="en-US" id="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent">Customer pre-payments</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:to="tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="label: ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent to tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl">The percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory, Finished Goods Inventory, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage">Percentage of eligible finished goods inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:label="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl">The minimum principal amount, whether or not such amount of loans is actually outstanding, on which interest is paid if the Company does not have the ability to direct the use of funds in the deposit account under the Amended Fee Letter.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl" xlink:title="label: DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid to tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1">Debt Instrument, Minimum principal amount on which interest is paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1" xlink:title="label: DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid to tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid">Minimum principal amount on which interest is paid</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="label: DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid to tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl">The percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory, Raw Material, Percentage</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage">Percentage of eligible raw material</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage to tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl">The percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1">Debt Instrument, Financial Covenant, Eligible Accounts Receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable">Percentage of eligible accounts receivable</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="label: DebtInstrumentFinancialCovenantEligibleAccountsReceivable to tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl" xml:lang="en-US" id="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl">The period of time the minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash must be maintained, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl" xlink:title="label: DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1" xml:lang="en-US" id="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1">Debt Instrument, Period to maintain excess availability and unrestricted cash</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1" xlink:title="label: DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xml:lang="en-US" id="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash">Number of days to maintain excess availability and unrestricted cash</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="label: DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:label="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl">The minimum principal amount of outstanding borrowings that must be maintained in order to retain the ability to direct the use of funds in the deposit account under the Amended Fee Letter.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl" xlink:title="label: DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount to tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1">Debt Instrument, Minimum principal amount to be maintained to direct use of funds in deposit account</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1" xlink:title="label: DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount to tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xml:lang="en-US" id="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount">Minimum principal amount to be maintained to direct use of funds in deposit account</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:to="tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="label: DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount to tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl" xml:lang="en-US" id="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl">The minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash required under a new "springing" deposit account control agreement, permitting the Company to direct the use of funds in its deposit account.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl" xlink:title="label: DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1" xml:lang="en-US" id="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1">Debt Instrument, Minimum excess availability and unrestricted cash</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1" xlink:title="label: DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xml:lang="en-US" id="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash">Minimum excess availability and unrestricted cash required</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:to="tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="label: DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash to tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl">The minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1">Debt Instrument, Financial Covenant, Eligible Inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_DebtInstrumentFinancialCovenantEligibleInventory" xml:lang="en-US" id="tact_DebtInstrumentFinancialCovenantEligibleInventory">Eligible inventory</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="DebtInstrumentFinancialCovenantEligibleInventory" xlink:to="tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="label: DebtInstrumentFinancialCovenantEligibleInventory to tact_DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl">Arrangement with Siena Lending Group LLC that provides a revolving credit line, subject to a borrowing base.</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xlink:role="http://www.xbrl.org/2003/role/label" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1">Revolving Credit Facility, Siena Lending Group Llc [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember_lbl1" />
    <link:label xlink:type="resource" xlink:label="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:title="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xml:lang="en-US" id="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember">Sienna Credit Facility [Member]</link:label>
    <link:labelArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:to="tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="label: RevolvingCreditFacilitySienaLendingGroupLlcMember to tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>9
<FILENAME>tact-20240331_pre.xml
<DESCRIPTION>XBRL TAXONOMY EXTENSION PRESENTATION LINKBASE
<TEXT>
<XBRL>
<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by Broadridge PROfile 24.3.1.5224 Broadridge-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xbrli="http://www.xbrl.org/2003/instance">
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/netLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/net-2009-12-16.xsd#netLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTotalLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedNetLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedNetLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedTerseLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodEndLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodEndLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedPeriodStartLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedPeriodStartLabel" />
  <link:roleRef roleURI="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="simple" xlink:href="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd#negatedLabel" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#IncomeTaxesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetailsCalc2" xlink:type="simple" xlink:href="tact-20240331.xsd#LeasesDetailsCalc2" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#LeasesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#EarningsPerShareDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/BorrowingsDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#BorrowingsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#InventoriesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueRemainingPerformanceObligationsDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueContractBalancesDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueContractBalancesDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueDisaggregationOfRevenueDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/BasisOfPresentationDetails" xlink:type="simple" xlink:href="tact-20240331.xsd#BasisOfPresentationDetails" />
  <link:roleRef roleURI="http://transact-tech.com/role/LeasesTables" xlink:type="simple" xlink:href="tact-20240331.xsd#LeasesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShareTables" xlink:type="simple" xlink:href="tact-20240331.xsd#EarningsPerShareTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/InventoriesTables" xlink:type="simple" xlink:href="tact-20240331.xsd#InventoriesTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/RevenueTables" xlink:type="simple" xlink:href="tact-20240331.xsd#RevenueTables" />
  <link:roleRef roleURI="http://transact-tech.com/role/SignificantAccountingPoliciesPolicies" xlink:type="simple" xlink:href="tact-20240331.xsd#SignificantAccountingPoliciesPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/BasisOfPresentationPolicies" xlink:type="simple" xlink:href="tact-20240331.xsd#BasisOfPresentationPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/InsiderTradingArrangements" xlink:type="simple" xlink:href="tact-20240331.xsd#InsiderTradingArrangements" />
  <link:roleRef roleURI="http://transact-tech.com/role/SubsequentEvents" xlink:type="simple" xlink:href="tact-20240331.xsd#SubsequentEvents" />
  <link:roleRef roleURI="http://transact-tech.com/role/IncomeTaxes" xlink:type="simple" xlink:href="tact-20240331.xsd#IncomeTaxes" />
  <link:roleRef roleURI="http://transact-tech.com/role/Leases" xlink:type="simple" xlink:href="tact-20240331.xsd#Leases" />
  <link:roleRef roleURI="http://transact-tech.com/role/EarningsPerShare" xlink:type="simple" xlink:href="tact-20240331.xsd#EarningsPerShare" />
  <link:roleRef roleURI="http://transact-tech.com/role/Borrowings" xlink:type="simple" xlink:href="tact-20240331.xsd#Borrowings" />
  <link:roleRef roleURI="http://transact-tech.com/role/Inventories" xlink:type="simple" xlink:href="tact-20240331.xsd#Inventories" />
  <link:roleRef roleURI="http://transact-tech.com/role/Revenue" xlink:type="simple" xlink:href="tact-20240331.xsd#Revenue" />
  <link:roleRef roleURI="http://transact-tech.com/role/SignificantAccountingPolicies" xlink:type="simple" xlink:href="tact-20240331.xsd#SignificantAccountingPolicies" />
  <link:roleRef roleURI="http://transact-tech.com/role/BasisOfPresentation" xlink:type="simple" xlink:href="tact-20240331.xsd#BasisOfPresentation" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfChangesInShareholdersEquity" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfCashFlows" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfComprehensiveLossIncome" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedStatementsOfOperations" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedBalanceSheetsParenthetical" />
  <link:roleRef roleURI="http://transact-tech.com/role/CondensedConsolidatedBalanceSheets" xlink:type="simple" xlink:href="tact-20240331.xsd#CondensedConsolidatedBalanceSheets" />
  <link:roleRef roleURI="http://transact-tech.com/role/DocumentAndEntityInformation" xlink:type="simple" xlink:href="tact-20240331.xsd#DocumentAndEntityInformation" />
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/DocumentAndEntityInformation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CoverAbstract" xlink:label="CoverAbstract" xlink:title="CoverAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentType" xlink:label="DocumentType" xlink:title="DocumentType" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentType" xlink:title="presentation: CoverAbstract to DocumentType" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_AmendmentFlag" xlink:label="AmendmentFlag" xlink:title="AmendmentFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="AmendmentFlag" xlink:title="presentation: CoverAbstract to AmendmentFlag" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentQuarterlyReport" xlink:label="DocumentQuarterlyReport" xlink:title="DocumentQuarterlyReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentQuarterlyReport" xlink:title="presentation: CoverAbstract to DocumentQuarterlyReport" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentPeriodEndDate" xlink:label="DocumentPeriodEndDate" xlink:title="DocumentPeriodEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentPeriodEndDate" xlink:title="presentation: CoverAbstract to DocumentPeriodEndDate" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CurrentFiscalYearEndDate" xlink:label="CurrentFiscalYearEndDate" xlink:title="CurrentFiscalYearEndDate" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CurrentFiscalYearEndDate" xlink:title="presentation: CoverAbstract to CurrentFiscalYearEndDate" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalYearFocus" xlink:label="DocumentFiscalYearFocus" xlink:title="DocumentFiscalYearFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalYearFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalYearFocus" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="DocumentFiscalPeriodFocus" xlink:title="DocumentFiscalPeriodFocus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentFiscalPeriodFocus" xlink:title="presentation: CoverAbstract to DocumentFiscalPeriodFocus" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_DocumentTransitionReport" xlink:label="DocumentTransitionReport" xlink:title="DocumentTransitionReport" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="DocumentTransitionReport" xlink:title="presentation: CoverAbstract to DocumentTransitionReport" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFileNumber" xlink:label="EntityFileNumber" xlink:title="EntityFileNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFileNumber" xlink:title="presentation: CoverAbstract to EntityFileNumber" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityRegistrantName" xlink:label="EntityRegistrantName" xlink:title="EntityRegistrantName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityRegistrantName" xlink:title="presentation: CoverAbstract to EntityRegistrantName" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCentralIndexKey" xlink:label="EntityCentralIndexKey" xlink:title="EntityCentralIndexKey" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCentralIndexKey" xlink:title="presentation: CoverAbstract to EntityCentralIndexKey" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityIncorporationStateCountryCode" xlink:label="EntityIncorporationStateCountryCode" xlink:title="EntityIncorporationStateCountryCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityIncorporationStateCountryCode" xlink:title="presentation: CoverAbstract to EntityIncorporationStateCountryCode" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityTaxIdentificationNumber" xlink:label="EntityTaxIdentificationNumber" xlink:title="EntityTaxIdentificationNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityTaxIdentificationNumber" xlink:title="presentation: CoverAbstract to EntityTaxIdentificationNumber" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine1" xlink:label="EntityAddressAddressLine1" xlink:title="EntityAddressAddressLine1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine1" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine1" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressAddressLine2" xlink:label="EntityAddressAddressLine2" xlink:title="EntityAddressAddressLine2" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressAddressLine2" xlink:title="presentation: CoverAbstract to EntityAddressAddressLine2" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressCityOrTown" xlink:label="EntityAddressCityOrTown" xlink:title="EntityAddressCityOrTown" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressCityOrTown" xlink:title="presentation: CoverAbstract to EntityAddressCityOrTown" order="15.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressStateOrProvince" xlink:label="EntityAddressStateOrProvince" xlink:title="EntityAddressStateOrProvince" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressStateOrProvince" xlink:title="presentation: CoverAbstract to EntityAddressStateOrProvince" order="16.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityAddressPostalZipCode" xlink:label="EntityAddressPostalZipCode" xlink:title="EntityAddressPostalZipCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityAddressPostalZipCode" xlink:title="presentation: CoverAbstract to EntityAddressPostalZipCode" order="17.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_CityAreaCode" xlink:label="CityAreaCode" xlink:title="CityAreaCode" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="CityAreaCode" xlink:title="presentation: CoverAbstract to CityAreaCode" order="18.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_LocalPhoneNumber" xlink:label="LocalPhoneNumber" xlink:title="LocalPhoneNumber" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="LocalPhoneNumber" xlink:title="presentation: CoverAbstract to LocalPhoneNumber" order="19.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_Security12bTitle" xlink:label="Security12bTitle" xlink:title="Security12bTitle" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="Security12bTitle" xlink:title="presentation: CoverAbstract to Security12bTitle" order="20.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_TradingSymbol" xlink:label="TradingSymbol" xlink:title="TradingSymbol" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="TradingSymbol" xlink:title="presentation: CoverAbstract to TradingSymbol" order="21.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_SecurityExchangeName" xlink:label="SecurityExchangeName" xlink:title="SecurityExchangeName" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="SecurityExchangeName" xlink:title="presentation: CoverAbstract to SecurityExchangeName" order="22.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCurrentReportingStatus" xlink:label="EntityCurrentReportingStatus" xlink:title="EntityCurrentReportingStatus" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCurrentReportingStatus" xlink:title="presentation: CoverAbstract to EntityCurrentReportingStatus" order="23.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityInteractiveDataCurrent" xlink:label="EntityInteractiveDataCurrent" xlink:title="EntityInteractiveDataCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityInteractiveDataCurrent" xlink:title="presentation: CoverAbstract to EntityInteractiveDataCurrent" order="24.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityFilerCategory" xlink:label="EntityFilerCategory" xlink:title="EntityFilerCategory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityFilerCategory" xlink:title="presentation: CoverAbstract to EntityFilerCategory" order="25.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntitySmallBusiness" xlink:label="EntitySmallBusiness" xlink:title="EntitySmallBusiness" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntitySmallBusiness" xlink:title="presentation: CoverAbstract to EntitySmallBusiness" order="26.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityEmergingGrowthCompany" xlink:label="EntityEmergingGrowthCompany" xlink:title="EntityEmergingGrowthCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityEmergingGrowthCompany" xlink:title="presentation: CoverAbstract to EntityEmergingGrowthCompany" order="27.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityShellCompany" xlink:label="EntityShellCompany" xlink:title="EntityShellCompany" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityShellCompany" xlink:title="presentation: CoverAbstract to EntityShellCompany" order="28.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/dei/2023/dei-2023.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="EntityCommonStockSharesOutstanding" xlink:title="EntityCommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CoverAbstract" xlink:to="EntityCommonStockSharesOutstanding" xlink:title="presentation: CoverAbstract to EntityCommonStockSharesOutstanding" order="29.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedBalanceSheets">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="CashAndCashEquivalentsAtCarryingValue" xlink:title="CashAndCashEquivalentsAtCarryingValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="CashAndCashEquivalentsAtCarryingValue" xlink:title="presentation: AssetsCurrentAbstract to CashAndCashEquivalentsAtCarryingValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="AccountsReceivableNetCurrent" xlink:title="AccountsReceivableNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AccountsReceivableNetCurrent" xlink:title="presentation: AssetsCurrentAbstract to AccountsReceivableNetCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="InventoryNet" xlink:title="presentation: AssetsCurrentAbstract to InventoryNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrepaidTaxes" xlink:label="PrepaidTaxes" xlink:title="PrepaidTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="PrepaidTaxes" xlink:title="presentation: AssetsCurrentAbstract to PrepaidTaxes" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsCurrent" xlink:label="OtherAssetsCurrent" xlink:title="OtherAssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="OtherAssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to OtherAssetsCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrent" xlink:label="AssetsCurrent" xlink:title="AssetsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AssetsCurrent" xlink:title="presentation: AssetsCurrentAbstract to AssetsCurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="PropertyPlantAndEquipmentNet" xlink:title="PropertyPlantAndEquipmentNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="PropertyPlantAndEquipmentNet" xlink:title="presentation: AssetsAbstract to PropertyPlantAndEquipmentNet" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseRightOfUseAsset" xlink:label="OperatingLeaseRightOfUseAsset" xlink:title="OperatingLeaseRightOfUseAsset" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OperatingLeaseRightOfUseAsset" xlink:title="presentation: AssetsAbstract to OperatingLeaseRightOfUseAsset" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Goodwill" xlink:label="Goodwill" xlink:title="Goodwill" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="Goodwill" xlink:title="presentation: AssetsAbstract to Goodwill" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxAssetsNet" xlink:label="DeferredIncomeTaxAssetsNet" xlink:title="DeferredIncomeTaxAssetsNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="DeferredIncomeTaxAssetsNet" xlink:title="presentation: AssetsAbstract to DeferredIncomeTaxAssetsNet" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IntangibleAssetsNetExcludingGoodwill" xlink:label="IntangibleAssetsNetExcludingGoodwill" xlink:title="IntangibleAssetsNetExcludingGoodwill" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="IntangibleAssetsNetExcludingGoodwill" xlink:title="presentation: AssetsAbstract to IntangibleAssetsNetExcludingGoodwill" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="OtherAssetsNoncurrent" xlink:title="OtherAssetsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="OtherAssetsNoncurrent" xlink:title="presentation: AssetsAbstract to OtherAssetsNoncurrent" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsNoncurrent" xlink:label="AssetsNoncurrent" xlink:title="AssetsNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsNoncurrent" xlink:title="presentation: AssetsAbstract to AssetsNoncurrent" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Assets" xlink:label="Assets" xlink:title="Assets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="Assets" xlink:title="presentation: AssetsAbstract to Assets" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="AssetsAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to AssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="LiabilitiesCurrentAbstract" xlink:title="LiabilitiesCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LinesOfCreditCurrent" xlink:label="LinesOfCreditCurrent" xlink:title="LinesOfCreditCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="LinesOfCreditCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to LinesOfCreditCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountsPayableCurrent" xlink:label="AccountsPayableCurrent" xlink:title="AccountsPayableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccountsPayableCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccountsPayableCurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="AccruedLiabilitiesCurrent" xlink:title="AccruedLiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="AccruedLiabilitiesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to AccruedLiabilitiesCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityCurrent" xlink:label="OperatingLeaseLiabilityCurrent" xlink:title="OperatingLeaseLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="OperatingLeaseLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to OperatingLeaseLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to ContractWithCustomerLiabilityCurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesCurrent" xlink:label="LiabilitiesCurrent" xlink:title="LiabilitiesCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesCurrentAbstract" xlink:to="LiabilitiesCurrent" xlink:title="presentation: LiabilitiesCurrentAbstract to LiabilitiesCurrent" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesCurrentAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to ContractWithCustomerLiabilityNoncurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilityNoncurrent" xlink:label="OperatingLeaseLiabilityNoncurrent" xlink:title="OperatingLeaseLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OperatingLeaseLiabilityNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OperatingLeaseLiabilityNoncurrent" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="OtherLiabilitiesNoncurrent" xlink:title="OtherLiabilitiesNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="OtherLiabilitiesNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to OtherLiabilitiesNoncurrent" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesNoncurrent" xlink:label="LiabilitiesNoncurrent" xlink:title="LiabilitiesNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesNoncurrent" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesNoncurrent" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_Liabilities" xlink:label="Liabilities" xlink:title="Liabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="Liabilities" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to Liabilities" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommitmentsAndContingencies" xlink:label="CommitmentsAndContingencies" xlink:title="CommitmentsAndContingencies" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="CommitmentsAndContingencies" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to CommitmentsAndContingencies" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockValue" xlink:label="CommonStockValue" xlink:title="CommonStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockValue" xlink:title="presentation: StockholdersEquityAbstract to CommonStockValue" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="AdditionalPaidInCapitalCommonStock" xlink:title="AdditionalPaidInCapitalCommonStock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AdditionalPaidInCapitalCommonStock" xlink:title="presentation: StockholdersEquityAbstract to AdditionalPaidInCapitalCommonStock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="RetainedEarningsAccumulatedDeficit" xlink:title="RetainedEarningsAccumulatedDeficit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="RetainedEarningsAccumulatedDeficit" xlink:title="presentation: StockholdersEquityAbstract to RetainedEarningsAccumulatedDeficit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="AccumulatedOtherComprehensiveIncomeLossNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:title="presentation: StockholdersEquityAbstract to AccumulatedOtherComprehensiveIncomeLossNetOfTax" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockValue" xlink:label="TreasuryStockValue" xlink:title="TreasuryStockValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockValue" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockValue" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="StockholdersEquity" xlink:title="presentation: StockholdersEquityAbstract to StockholdersEquity" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="LiabilitiesAndStockholdersEquity" xlink:title="LiabilitiesAndStockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="LiabilitiesAndStockholdersEquity" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to LiabilitiesAndStockholdersEquity" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to LiabilitiesAndStockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="StatementOfFinancialPositionAbstract" xlink:title="StatementOfFinancialPositionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsAbstract" xlink:label="AssetsAbstract" xlink:title="AssetsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="AssetsCurrentAbstract" xlink:title="AssetsCurrentAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="AllowanceForDoubtfulAccountsReceivableCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsCurrentAbstract" xlink:to="AllowanceForDoubtfulAccountsReceivableCurrent" xlink:title="presentation: AssetsCurrentAbstract to AllowanceForDoubtfulAccountsReceivableCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AssetsCurrentAbstract" xlink:title="presentation: AssetsAbstract to AssetsCurrentAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:label="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" xlink:title="presentation: AssetsAbstract to AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="FiniteLivedIntangibleAssetsAccumulatedAmortization" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AssetsAbstract" xlink:to="FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:title="presentation: AssetsAbstract to FiniteLivedIntangibleAssetsAccumulatedAmortization" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="AssetsAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to AssetsAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="LiabilitiesAndStockholdersEquityAbstract" xlink:title="LiabilitiesAndStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="StockholdersEquityAbstract" xlink:title="StockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="CommonStockParOrStatedValuePerShare" xlink:title="CommonStockParOrStatedValuePerShare" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockParOrStatedValuePerShare" xlink:title="presentation: StockholdersEquityAbstract to CommonStockParOrStatedValuePerShare" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="CommonStockSharesAuthorized" xlink:title="CommonStockSharesAuthorized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesAuthorized" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesAuthorized" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesIssued" xlink:label="CommonStockSharesIssued" xlink:title="CommonStockSharesIssued" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesIssued" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesIssued" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockSharesOutstanding" xlink:label="CommonStockSharesOutstanding" xlink:title="CommonStockSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="CommonStockSharesOutstanding" xlink:title="presentation: StockholdersEquityAbstract to CommonStockSharesOutstanding" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonShares" xlink:label="TreasuryStockCommonShares" xlink:title="TreasuryStockCommonShares" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockholdersEquityAbstract" xlink:to="TreasuryStockCommonShares" xlink:title="presentation: StockholdersEquityAbstract to TreasuryStockCommonShares" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LiabilitiesAndStockholdersEquityAbstract" xlink:to="StockholdersEquityAbstract" xlink:title="presentation: LiabilitiesAndStockholdersEquityAbstract to StockholdersEquityAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfFinancialPositionAbstract" xlink:to="LiabilitiesAndStockholdersEquityAbstract" xlink:title="presentation: StatementOfFinancialPositionAbstract to LiabilitiesAndStockholdersEquityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeStatementAbstract" xlink:label="IncomeStatementAbstract" xlink:title="IncomeStatementAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: IncomeStatementAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CostOfRevenue" xlink:label="CostOfRevenue" xlink:title="CostOfRevenue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="CostOfRevenue" xlink:title="presentation: IncomeStatementAbstract to CostOfRevenue" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GrossProfit" xlink:label="GrossProfit" xlink:title="GrossProfit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="GrossProfit" xlink:title="presentation: IncomeStatementAbstract to GrossProfit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="ResearchAndDevelopmentExpense" xlink:title="ResearchAndDevelopmentExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="ResearchAndDevelopmentExpense" xlink:title="presentation: OperatingExpensesAbstract to ResearchAndDevelopmentExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SellingAndMarketingExpense" xlink:label="SellingAndMarketingExpense" xlink:title="SellingAndMarketingExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="SellingAndMarketingExpense" xlink:title="presentation: OperatingExpensesAbstract to SellingAndMarketingExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_GeneralAndAdministrativeExpense" xlink:label="GeneralAndAdministrativeExpense" xlink:title="GeneralAndAdministrativeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="GeneralAndAdministrativeExpense" xlink:title="presentation: OperatingExpensesAbstract to GeneralAndAdministrativeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="OperatingExpenses" xlink:title="presentation: OperatingExpensesAbstract to OperatingExpenses" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingExpensesAbstract" xlink:title="presentation: IncomeStatementAbstract to OperatingExpensesAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingIncomeLoss" xlink:label="OperatingIncomeLoss" xlink:title="OperatingIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="OperatingIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to OperatingIncomeLoss" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpenseAbstract" xlink:label="NonoperatingIncomeExpenseAbstract" xlink:title="NonoperatingIncomeExpenseAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InterestIncomeExpenseNonoperatingNet" xlink:label="InterestIncomeExpenseNonoperatingNet" xlink:title="InterestIncomeExpenseNonoperatingNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="InterestIncomeExpenseNonoperatingNet" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to InterestIncomeExpenseNonoperatingNet" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="OtherNonoperatingIncomeExpense" xlink:title="OtherNonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="OtherNonoperatingIncomeExpense" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to OtherNonoperatingIncomeExpense" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NonoperatingIncomeExpense" xlink:label="NonoperatingIncomeExpense" xlink:title="NonoperatingIncomeExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NonoperatingIncomeExpenseAbstract" xlink:to="NonoperatingIncomeExpense" xlink:title="presentation: NonoperatingIncomeExpenseAbstract to NonoperatingIncomeExpense" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="NonoperatingIncomeExpenseAbstract" xlink:title="presentation: IncomeStatementAbstract to NonoperatingIncomeExpenseAbstract" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:label="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" xlink:title="presentation: IncomeStatementAbstract to IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeStatementAbstract to IncomeTaxExpenseBenefit" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: IncomeStatementAbstract to NetIncomeLoss" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="EarningsPerShareAbstract" xlink:title="presentation: IncomeStatementAbstract to EarningsPerShareAbstract" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract" xlink:label="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:title="EarningsPerShareBasicOtherDisclosuresAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: EarningsPerShareBasicOtherDisclosuresAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: EarningsPerShareBasicOtherDisclosuresAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeStatementAbstract" xlink:to="EarningsPerShareBasicOtherDisclosuresAbstract" xlink:title="presentation: IncomeStatementAbstract to EarningsPerShareBasicOtherDisclosuresAbstract" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:title="StatementOfIncomeAndComprehensiveIncomeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="ComprehensiveIncomeNetOfTax" xlink:title="ComprehensiveIncomeNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:to="ComprehensiveIncomeNetOfTax" xlink:title="presentation: StatementOfIncomeAndComprehensiveIncomeAbstract to ComprehensiveIncomeNetOfTax" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="StatementOfCashFlowsAbstract" xlink:title="StatementOfCashFlowsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ShareBasedCompensation" xlink:label="ShareBasedCompensation" xlink:title="ShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ShareBasedCompensation" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ShareBasedCompensation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DepreciationAndAmortization" xlink:label="DepreciationAndAmortization" xlink:title="DepreciationAndAmortization" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="DepreciationAndAmortization" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to DepreciationAndAmortization" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredIncomeTaxExpenseBenefit" xlink:label="DeferredIncomeTaxExpenseBenefit" xlink:title="DeferredIncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="DeferredIncomeTaxExpenseBenefit" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to DeferredIncomeTaxExpenseBenefit" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ForeignCurrencyTransactionGainLossUnrealized" xlink:label="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="ForeignCurrencyTransactionGainLossUnrealized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="ForeignCurrencyTransactionGainLossUnrealized" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to ForeignCurrencyTransactionGainLossUnrealized" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOperatingCapitalAbstract" xlink:label="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="IncreaseDecreaseInOperatingCapitalAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="IncreaseDecreaseInAccountsReceivable" xlink:title="IncreaseDecreaseInAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsReceivable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsReceivable" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherReceivables" xlink:label="IncreaseDecreaseInOtherReceivables" xlink:title="IncreaseDecreaseInOtherReceivables" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherReceivables" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherReceivables" order="1.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="IncreaseDecreaseInInventories" xlink:title="IncreaseDecreaseInInventories" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInInventories" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInInventories" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInPrepaidTaxes" xlink:label="IncreaseDecreaseInPrepaidTaxes" xlink:title="IncreaseDecreaseInPrepaidTaxes" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInPrepaidTaxes" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInPrepaidTaxes" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInOtherOperatingAssets" xlink:label="IncreaseDecreaseInOtherOperatingAssets" xlink:title="IncreaseDecreaseInOtherOperatingAssets" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInOtherOperatingAssets" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInOtherOperatingAssets" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="IncreaseDecreaseInAccountsPayable" xlink:title="IncreaseDecreaseInAccountsPayable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccountsPayable" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccountsPayable" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:label="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInOperatingCapitalAbstract" xlink:to="IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" xlink:title="presentation: IncreaseDecreaseInOperatingCapitalAbstract to IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="IncreaseDecreaseInOperatingCapitalAbstract" xlink:title="presentation: AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract to IncreaseDecreaseInOperatingCapitalAbstract" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="NetCashProvidedByUsedInOperatingActivities" xlink:title="NetCashProvidedByUsedInOperatingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivities" xlink:title="presentation: NetCashProvidedByUsedInOperatingActivitiesAbstract to NetCashProvidedByUsedInOperatingActivities" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInOperatingActivitiesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInInvestingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="PaymentsToAcquirePropertyPlantAndEquipment" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="PaymentsToAcquirePropertyPlantAndEquipment" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to PaymentsToAcquirePropertyPlantAndEquipment" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="NetCashProvidedByUsedInInvestingActivities" xlink:title="NetCashProvidedByUsedInInvestingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivities" xlink:title="presentation: NetCashProvidedByUsedInInvestingActivitiesAbstract to NetCashProvidedByUsedInInvestingActivities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInInvestingActivitiesAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="NetCashProvidedByUsedInFinancingActivitiesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:label="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="PaymentsRelatedToTaxWithholdingForShareBasedCompensation" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to PaymentsRelatedToTaxWithholdingForShareBasedCompensation" order="0.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="NetCashProvidedByUsedInFinancingActivities" xlink:title="NetCashProvidedByUsedInFinancingActivities" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivities" xlink:title="presentation: NetCashProvidedByUsedInFinancingActivitiesAbstract to NetCashProvidedByUsedInFinancingActivities" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NetCashProvidedByUsedInFinancingActivitiesAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" xlink:label="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents_2" xlink:title="presentation: StatementOfCashFlowsAbstract to CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NoncashInvestingAndFinancingItemsAbstract" xlink:label="NoncashInvestingAndFinancingItemsAbstract" xlink:title="NoncashInvestingAndFinancingItemsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CapitalExpendituresIncurredButNotYetPaid" xlink:label="CapitalExpendituresIncurredButNotYetPaid" xlink:title="CapitalExpendituresIncurredButNotYetPaid" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="NoncashInvestingAndFinancingItemsAbstract" xlink:to="CapitalExpendituresIncurredButNotYetPaid" xlink:title="presentation: NoncashInvestingAndFinancingItemsAbstract to CapitalExpendituresIncurredButNotYetPaid" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfCashFlowsAbstract" xlink:to="NoncashInvestingAndFinancingItemsAbstract" xlink:title="presentation: StatementOfCashFlowsAbstract to NoncashInvestingAndFinancingItemsAbstract" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="StatementOfStockholdersEquityAbstract" xlink:title="StatementOfStockholdersEquityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementTable" xlink:label="StatementTable" xlink:title="StatementTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="StatementEquityComponentsAxis" xlink:title="StatementEquityComponentsAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CommonStockMember" xlink:label="CommonStockMember" xlink:title="CommonStockMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="CommonStockMember" xlink:title="presentation: StatementEquityComponentsAxis to CommonStockMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="AdditionalPaidInCapitalMember" xlink:title="AdditionalPaidInCapitalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AdditionalPaidInCapitalMember" xlink:title="presentation: StatementEquityComponentsAxis to AdditionalPaidInCapitalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RetainedEarningsMember" xlink:label="RetainedEarningsMember" xlink:title="RetainedEarningsMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="RetainedEarningsMember" xlink:title="presentation: StatementEquityComponentsAxis to RetainedEarningsMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_TreasuryStockCommonMember" xlink:label="TreasuryStockCommonMember" xlink:title="TreasuryStockCommonMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="TreasuryStockCommonMember" xlink:title="presentation: StatementEquityComponentsAxis to TreasuryStockCommonMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="AccumulatedOtherComprehensiveIncomeMember" xlink:title="AccumulatedOtherComprehensiveIncomeMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="AccumulatedOtherComprehensiveIncomeMember" xlink:title="presentation: StatementEquityComponentsAxis to AccumulatedOtherComprehensiveIncomeMember" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EquityComponentDomain" xlink:label="EquityComponentDomain" xlink:title="EquityComponentDomain" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementEquityComponentsAxis" xlink:to="EquityComponentDomain" xlink:title="presentation: StatementEquityComponentsAxis to EquityComponentDomain" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementEquityComponentsAxis" xlink:title="presentation: StatementTable to StatementEquityComponentsAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StatementLineItems" xlink:label="StatementLineItems" xlink:title="StatementLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="IncreaseDecreaseInStockholdersEquityRollForward" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/periodStartLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:label="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:label="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockGrantedDuringPeriodValueSharebasedCompensationForfeited" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockGrantedDuringPeriodValueSharebasedCompensationForfeited" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="NetIncomeLoss" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to NetIncomeLoss" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockholdersEquity" xlink:label="StockholdersEquity_2" xlink:title="StockholdersEquity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncreaseDecreaseInStockholdersEquityRollForward" xlink:to="StockholdersEquity_2" xlink:title="presentation: IncreaseDecreaseInStockholdersEquityRollForward to StockholdersEquity" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/periodEndLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="IncreaseDecreaseInStockholdersEquityRollForward" xlink:title="presentation: StatementLineItems to IncreaseDecreaseInStockholdersEquityRollForward" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockTransactionsParentheticalDisclosuresAbstract" xlink:label="StockTransactionsParentheticalDisclosuresAbstract" xlink:title="StockTransactionsParentheticalDisclosuresAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="StockIssuedDuringPeriodSharesStockOptionsExercised" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockTransactionsParentheticalDisclosuresAbstract" xlink:to="StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:title="presentation: StockTransactionsParentheticalDisclosuresAbstract to StockIssuedDuringPeriodSharesStockOptionsExercised" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:label="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="SharesPaidForTaxWithholdingForShareBasedCompensation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StockTransactionsParentheticalDisclosuresAbstract" xlink:to="SharesPaidForTaxWithholdingForShareBasedCompensation" xlink:title="presentation: StockTransactionsParentheticalDisclosuresAbstract to SharesPaidForTaxWithholdingForShareBasedCompensation" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementLineItems" xlink:to="StockTransactionsParentheticalDisclosuresAbstract" xlink:title="presentation: StatementLineItems to StockTransactionsParentheticalDisclosuresAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementTable" xlink:to="StatementLineItems" xlink:title="presentation: StatementTable to StatementLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementOfStockholdersEquityAbstract" xlink:to="StatementTable" xlink:title="presentation: StatementOfStockholdersEquityAbstract to StatementTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BasisOfPresentation">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:label="BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:title="BusinessDescriptionAndBasisOfPresentationTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="BusinessDescriptionAndBasisOfPresentationTextBlock" xlink:title="presentation: OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract to BusinessDescriptionAndBasisOfPresentationTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SignificantAccountingPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:label="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to BasisOfPresentationAndSignificantAccountingPoliciesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Revenue">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerTextBlock" xlink:label="RevenueFromContractWithCustomerTextBlock" xlink:title="RevenueFromContractWithCustomerTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="RevenueFromContractWithCustomerTextBlock" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to RevenueFromContractWithCustomerTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Inventories">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="InventoryDisclosureTextBlock" xlink:title="InventoryDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryDisclosureTextBlock" xlink:title="presentation: InventoryDisclosureAbstract to InventoryDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Borrowings">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureTextBlock" xlink:label="DebtDisclosureTextBlock" xlink:title="DebtDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtDisclosureTextBlock" xlink:title="presentation: DebtDisclosureAbstract to DebtDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShare">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="EarningsPerShareTextBlock" xlink:title="EarningsPerShareTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareTextBlock" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/Leases">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeasesTextBlock" xlink:label="LesseeOperatingLeasesTextBlock" xlink:title="LesseeOperatingLeasesTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeasesTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeasesTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxes">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="IncomeTaxDisclosureTextBlock" xlink:title="IncomeTaxDisclosureTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxDisclosureTextBlock" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxDisclosureTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SubsequentEvents">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="SubsequentEventsAbstract" xlink:title="SubsequentEventsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="SubsequentEventsTextBlock" xlink:title="SubsequentEventsTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SubsequentEventsAbstract" xlink:to="SubsequentEventsTextBlock" xlink:title="presentation: SubsequentEventsAbstract to SubsequentEventsTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InsiderTradingArrangements">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_InsiderTradingArrLineItems" xlink:label="InsiderTradingArrLineItems" xlink:title="InsiderTradingArrLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrAdoptedFlag" xlink:label="Rule10b51ArrAdoptedFlag" xlink:title="Rule10b51ArrAdoptedFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="Rule10b51ArrAdoptedFlag" xlink:title="presentation: InsiderTradingArrLineItems to Rule10b51ArrAdoptedFlag" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrAdoptedFlag" xlink:label="NonRule10b51ArrAdoptedFlag" xlink:title="NonRule10b51ArrAdoptedFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="NonRule10b51ArrAdoptedFlag" xlink:title="presentation: InsiderTradingArrLineItems to NonRule10b51ArrAdoptedFlag" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_Rule10b51ArrTrmntdFlag" xlink:label="Rule10b51ArrTrmntdFlag" xlink:title="Rule10b51ArrTrmntdFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="Rule10b51ArrTrmntdFlag" xlink:title="presentation: InsiderTradingArrLineItems to Rule10b51ArrTrmntdFlag" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd#ecd_NonRule10b51ArrTrmntdFlag" xlink:label="NonRule10b51ArrTrmntdFlag" xlink:title="NonRule10b51ArrTrmntdFlag" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InsiderTradingArrLineItems" xlink:to="NonRule10b51ArrTrmntdFlag" xlink:title="presentation: InsiderTradingArrLineItems to NonRule10b51ArrTrmntdFlag" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BasisOfPresentationPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_BasisOfAccountingPolicyPolicyTextBlock" xlink:label="BasisOfAccountingPolicyPolicyTextBlock" xlink:title="BasisOfAccountingPolicyPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="BasisOfAccountingPolicyPolicyTextBlock" xlink:title="presentation: OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract to BasisOfAccountingPolicyPolicyTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_UseOfEstimates" xlink:label="UseOfEstimates" xlink:title="UseOfEstimates" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="UseOfEstimates" xlink:title="presentation: OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract to UseOfEstimates" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/SignificantAccountingPoliciesPolicies">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="AccountingPoliciesAbstract" xlink:title="AccountingPoliciesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="NewAccountingPronouncementsPolicyPolicyTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AccountingPoliciesAbstract" xlink:to="NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:title="presentation: AccountingPoliciesAbstract to NewAccountingPronouncementsPolicyPolicyTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTableTextBlock" xlink:label="DisaggregationOfRevenueTableTextBlock" xlink:title="DisaggregationOfRevenueTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="DisaggregationOfRevenueTableTextBlock" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to DisaggregationOfRevenueTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:label="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="ContractWithCustomerAssetAndLiabilityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerAssetAndLiabilityTableTextBlock" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerAssetAndLiabilityTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="ScheduleOfInventoryCurrentTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="ScheduleOfInventoryCurrentTableTextBlock" xlink:title="presentation: InventoryDisclosureAbstract to ScheduleOfInventoryCurrentTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:label="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" xlink:title="presentation: EarningsPerShareAbstract to ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesTables">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:label="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:label="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:label="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseLiabilityMaturityTableTextBlock" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseLiabilityMaturityTableTextBlock" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BasisOfPresentationDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:title="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CurrentBusinessTrendsDisclosureTable" xlink:label="CurrentBusinessTrendsDisclosureTable" xlink:title="CurrentBusinessTrendsDisclosureTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementScenarioAxis" xlink:label="StatementScenarioAxis" xlink:title="StatementScenarioAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioUnspecifiedDomain" xlink:label="ScenarioUnspecifiedDomain" xlink:title="ScenarioUnspecifiedDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ScenarioForecastMember" xlink:label="ScenarioForecastMember" xlink:title="ScenarioForecastMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScenarioUnspecifiedDomain" xlink:to="ScenarioForecastMember" xlink:title="presentation: ScenarioUnspecifiedDomain to ScenarioForecastMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementScenarioAxis" xlink:to="ScenarioUnspecifiedDomain" xlink:title="presentation: StatementScenarioAxis to ScenarioUnspecifiedDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentBusinessTrendsDisclosureTable" xlink:to="StatementScenarioAxis" xlink:title="presentation: CurrentBusinessTrendsDisclosureTable to StatementScenarioAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CurrentBusinessTrendsLineItems" xlink:label="CurrentBusinessTrendsLineItems" xlink:title="CurrentBusinessTrendsLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpensesAbstract" xlink:label="OperatingExpensesAbstract" xlink:title="OperatingExpensesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingExpenses" xlink:label="OperatingExpenses" xlink:title="OperatingExpenses" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingExpensesAbstract" xlink:to="OperatingExpenses" xlink:title="presentation: OperatingExpensesAbstract to OperatingExpenses" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentBusinessTrendsLineItems" xlink:to="OperatingExpensesAbstract" xlink:title="presentation: CurrentBusinessTrendsLineItems to OperatingExpensesAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CurrentBusinessTrendsDisclosureTable" xlink:to="CurrentBusinessTrendsLineItems" xlink:title="presentation: CurrentBusinessTrendsDisclosureTable to CurrentBusinessTrendsLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:to="CurrentBusinessTrendsDisclosureTable" xlink:title="presentation: OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract to CurrentBusinessTrendsDisclosureTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueTable" xlink:label="DisaggregationOfRevenueTable" xlink:title="DisaggregationOfRevenueTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductOrServiceAxis" xlink:label="ProductOrServiceAxis" xlink:title="ProductOrServiceAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_ProductsAndServicesDomain" xlink:label="ProductsAndServicesDomain" xlink:title="ProductsAndServicesDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_FoodServiceTechnologyMember" xlink:label="FoodServiceTechnologyMember" xlink:title="FoodServiceTechnologyMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="FoodServiceTechnologyMember" xlink:title="presentation: ProductsAndServicesDomain to FoodServiceTechnologyMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_PosAutomationAndBankingMember" xlink:label="PosAutomationAndBankingMember" xlink:title="PosAutomationAndBankingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="PosAutomationAndBankingMember" xlink:title="presentation: ProductsAndServicesDomain to PosAutomationAndBankingMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_CasinoAndGamingMember" xlink:label="CasinoAndGamingMember" xlink:title="CasinoAndGamingMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="CasinoAndGamingMember" xlink:title="presentation: ProductsAndServicesDomain to CasinoAndGamingMember" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_TransactServicesGroupMember" xlink:label="TransactServicesGroupMember" xlink:title="TransactServicesGroupMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductsAndServicesDomain" xlink:to="TransactServicesGroupMember" xlink:title="presentation: ProductsAndServicesDomain to TransactServicesGroupMember" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ProductOrServiceAxis" xlink:to="ProductsAndServicesDomain" xlink:title="presentation: ProductOrServiceAxis to ProductsAndServicesDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="ProductOrServiceAxis" xlink:title="presentation: DisaggregationOfRevenueTable to ProductOrServiceAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_StatementGeographicalAxis" xlink:label="StatementGeographicalAxis" xlink:title="StatementGeographicalAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_SegmentGeographicalDomain" xlink:label="SegmentGeographicalDomain" xlink:title="SegmentGeographicalDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.sec.gov/country/2023/country-2023.xsd#country_US" xlink:label="US" xlink:title="US" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="US" xlink:title="presentation: SegmentGeographicalDomain to US" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_InternationalMember" xlink:label="InternationalMember" xlink:title="InternationalMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="SegmentGeographicalDomain" xlink:to="InternationalMember" xlink:title="presentation: SegmentGeographicalDomain to InternationalMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="StatementGeographicalAxis" xlink:to="SegmentGeographicalDomain" xlink:title="presentation: StatementGeographicalAxis to SegmentGeographicalDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="StatementGeographicalAxis" xlink:title="presentation: DisaggregationOfRevenueTable to StatementGeographicalAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueLineItems" xlink:label="DisaggregationOfRevenueLineItems" xlink:title="DisaggregationOfRevenueLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DisaggregationOfRevenueAbstract" xlink:label="DisaggregationOfRevenueAbstract" xlink:title="DisaggregationOfRevenueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax" xlink:label="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="RevenueFromContractWithCustomerExcludingAssessedTax" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueAbstract" xlink:to="RevenueFromContractWithCustomerExcludingAssessedTax" xlink:title="presentation: DisaggregationOfRevenueAbstract to RevenueFromContractWithCustomerExcludingAssessedTax" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueLineItems" xlink:to="DisaggregationOfRevenueAbstract" xlink:title="presentation: DisaggregationOfRevenueLineItems to DisaggregationOfRevenueAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DisaggregationOfRevenueTable" xlink:to="DisaggregationOfRevenueLineItems" xlink:title="presentation: DisaggregationOfRevenueTable to DisaggregationOfRevenueLineItems" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="DisaggregationOfRevenueTable" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to DisaggregationOfRevenueTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueContractBalancesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_ContractWithCustomerRevenueRecognized" xlink:label="ContractWithCustomerRevenueRecognized" xlink:title="ContractWithCustomerRevenueRecognized" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerRevenueRecognized" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerRevenueRecognized" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityAbstract" xlink:label="ContractWithCustomerLiabilityAbstract" xlink:title="ContractWithCustomerLiabilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetCurrent" xlink:label="ContractWithCustomerAssetNetCurrent" xlink:title="ContractWithCustomerAssetNetCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerAssetNetCurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerAssetNetCurrent" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerAssetNetNoncurrent" xlink:label="ContractWithCustomerAssetNetNoncurrent" xlink:title="ContractWithCustomerAssetNetNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerAssetNetNoncurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerAssetNetNoncurrent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:label="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent" order="2.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityCurrent" xlink:label="ContractWithCustomerLiabilityCurrent" xlink:title="ContractWithCustomerLiabilityCurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityCurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerLiabilityCurrent" order="3.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ContractWithCustomerLiabilityNoncurrent" xlink:label="ContractWithCustomerLiabilityNoncurrent" xlink:title="ContractWithCustomerLiabilityNoncurrent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerLiabilityNoncurrent" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerLiabilityNoncurrent" order="4.0" preferredLabel="http://www.xbrl.org/2009/role/negatedLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_ContractWithCustomerAssetLiabilityNet" xlink:label="ContractWithCustomerAssetLiabilityNet" xlink:title="ContractWithCustomerAssetLiabilityNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ContractWithCustomerLiabilityAbstract" xlink:to="ContractWithCustomerAssetLiabilityNet" xlink:title="presentation: ContractWithCustomerLiabilityAbstract to ContractWithCustomerAssetLiabilityNet" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="ContractWithCustomerLiabilityAbstract" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to ContractWithCustomerLiabilityAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueFromContractWithCustomerAbstract" xlink:label="RevenueFromContractWithCustomerAbstract" xlink:title="RevenueFromContractWithCustomerAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenuePerformanceObligationAbstract" xlink:label="RevenuePerformanceObligationAbstract" xlink:title="RevenuePerformanceObligationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligation" xlink:label="RevenueRemainingPerformanceObligation" xlink:title="RevenueRemainingPerformanceObligation" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="RevenueRemainingPerformanceObligation" xlink:title="presentation: RevenuePerformanceObligationAbstract to RevenueRemainingPerformanceObligation" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:label="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenuePerformanceObligationAbstract" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" xlink:title="presentation: RevenuePerformanceObligationAbstract to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:to="RevenuePerformanceObligationAbstract" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems to RevenuePerformanceObligationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" xlink:title="presentation: RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RevenueFromContractWithCustomerAbstract" xlink:to="RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" xlink:title="presentation: RevenueFromContractWithCustomerAbstract to RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/InventoriesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="InventoryDisclosureAbstract" xlink:title="InventoryDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:label="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="InventoryRawMaterialsAndSuppliesNetOfReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryRawMaterialsAndSuppliesNetOfReserves" xlink:title="presentation: InventoryDisclosureAbstract to InventoryRawMaterialsAndSuppliesNetOfReserves" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="InventoryFinishedGoodsNetOfReserves" xlink:title="InventoryFinishedGoodsNetOfReserves" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryFinishedGoodsNetOfReserves" xlink:title="presentation: InventoryDisclosureAbstract to InventoryFinishedGoodsNetOfReserves" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_InventoryNet" xlink:label="InventoryNet" xlink:title="InventoryNet" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="InventoryDisclosureAbstract" xlink:to="InventoryNet" xlink:title="presentation: InventoryDisclosureAbstract to InventoryNet" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/BorrowingsDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtDisclosureAbstract" xlink:label="DebtDisclosureAbstract" xlink:title="DebtDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentTable" xlink:label="DebtInstrumentTable" xlink:title="DebtInstrumentTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentAxis" xlink:label="DebtInstrumentAxis" xlink:title="DebtInstrumentAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentNameDomain" xlink:label="DebtInstrumentNameDomain" xlink:title="DebtInstrumentNameDomain" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:label="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="RevolvingCreditFacilitySienaLendingGroupLlcMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentNameDomain" xlink:to="RevolvingCreditFacilitySienaLendingGroupLlcMember" xlink:title="presentation: DebtInstrumentNameDomain to RevolvingCreditFacilitySienaLendingGroupLlcMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentAxis" xlink:to="DebtInstrumentNameDomain" xlink:title="presentation: DebtInstrumentAxis to DebtInstrumentNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentAxis" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateAxis" xlink:label="VariableRateAxis" xlink:title="VariableRateAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_VariableRateDomain" xlink:label="VariableRateDomain" xlink:title="VariableRateDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_PrimeRateMember" xlink:label="PrimeRateMember" xlink:title="PrimeRateMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateDomain" xlink:to="PrimeRateMember" xlink:title="presentation: VariableRateDomain to PrimeRateMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_FederalFundsEffectiveSwapRateMember" xlink:label="FederalFundsEffectiveSwapRateMember" xlink:title="FederalFundsEffectiveSwapRateMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateDomain" xlink:to="FederalFundsEffectiveSwapRateMember" xlink:title="presentation: VariableRateDomain to FederalFundsEffectiveSwapRateMember" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="VariableRateAxis" xlink:to="VariableRateDomain" xlink:title="presentation: VariableRateAxis to VariableRateDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="VariableRateAxis" xlink:title="presentation: DebtInstrumentTable to VariableRateAxis" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeAxis" xlink:label="RangeAxis" xlink:title="RangeAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_RangeMember" xlink:label="RangeMember" xlink:title="RangeMember" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd#srt_MinimumMember" xlink:label="MinimumMember" xlink:title="MinimumMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeMember" xlink:to="MinimumMember" xlink:title="presentation: RangeMember to MinimumMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="RangeAxis" xlink:to="RangeMember" xlink:title="presentation: RangeAxis to RangeMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="RangeAxis" xlink:title="presentation: DebtInstrumentTable to RangeAxis" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentLineItems" xlink:label="DebtInstrumentLineItems" xlink:title="DebtInstrumentLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityAbstract" xlink:label="LineOfCreditFacilityAbstract" xlink:title="LineOfCreditFacilityAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity" xlink:label="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="LineOfCreditFacilityMaximumBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityMaximumBorrowingCapacity" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityMaximumBorrowingCapacity" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentBasisSpreadOnVariableRate1" xlink:label="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="DebtInstrumentBasisSpreadOnVariableRate1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentBasisSpreadOnVariableRate1" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentBasisSpreadOnVariableRate1" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DebtInstrumentInterestRateStatedPercentage" xlink:label="DebtInstrumentInterestRateStatedPercentage" xlink:title="DebtInstrumentInterestRateStatedPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentInterestRateStatedPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentInterestRateStatedPercentage" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_DeferredFinanceCostsGross" xlink:label="DeferredFinanceCostsGross" xlink:title="DeferredFinanceCostsGross" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DeferredFinanceCostsGross" xlink:title="presentation: LineOfCreditFacilityAbstract to DeferredFinanceCostsGross" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:label="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:label="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleAccountsReceivable" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleAccountsReceivable" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventory" xlink:label="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="DebtInstrumentFinancialCovenantEligibleInventory" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventory" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventory" order="6.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage" order="7.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:label="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage" order="8.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity" xlink:label="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="LineOfCreditFacilityRemainingBorrowingCapacity" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="LineOfCreditFacilityRemainingBorrowingCapacity" xlink:title="presentation: LineOfCreditFacilityAbstract to LineOfCreditFacilityRemainingBorrowingCapacity" order="9.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_SecuredDebt" xlink:label="SecuredDebt" xlink:title="SecuredDebt" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="SecuredDebt" xlink:title="presentation: LineOfCreditFacilityAbstract to SecuredDebt" order="10.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash" order="11.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:label="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash" order="12.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:label="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount" order="13.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="tact-20240331.xsd#tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:label="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LineOfCreditFacilityAbstract" xlink:to="DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" xlink:title="presentation: LineOfCreditFacilityAbstract to DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid" order="14.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentLineItems" xlink:to="LineOfCreditFacilityAbstract" xlink:title="presentation: DebtInstrumentLineItems to LineOfCreditFacilityAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtInstrumentTable" xlink:to="DebtInstrumentLineItems" xlink:title="presentation: DebtInstrumentTable to DebtInstrumentLineItems" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="DebtDisclosureAbstract" xlink:to="DebtInstrumentTable" xlink:title="presentation: DebtDisclosureAbstract to DebtInstrumentTable" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/EarningsPerShareDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="EarningsPerShareAbstract" xlink:title="EarningsPerShareAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_NetIncomeLoss" xlink:label="NetIncomeLoss" xlink:title="NetIncomeLoss" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="NetIncomeLoss" xlink:title="presentation: EarningsPerShareAbstract to NetIncomeLoss" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:label="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="WeightedAverageNumberOfSharesOutstandingBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingBasic" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to WeightedAverageNumberOfSharesOutstandingBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:label="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to IncrementalCommonSharesAttributableToShareBasedPaymentArrangements" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="WeightedAverageNumberOfDilutedSharesOutstanding" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:to="WeightedAverageNumberOfDilutedSharesOutstanding" xlink:title="presentation: WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract to WeightedAverageNumberOfDilutedSharesOutstanding" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" xlink:title="presentation: EarningsPerShareAbstract to WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasicAbstract" xlink:label="EarningsPerShareBasicAbstract" xlink:title="EarningsPerShareBasicAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareBasic" xlink:label="EarningsPerShareBasic" xlink:title="EarningsPerShareBasic" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAbstract" xlink:to="EarningsPerShareBasic" xlink:title="presentation: EarningsPerShareBasicAbstract to EarningsPerShareBasic" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="EarningsPerShareDiluted" xlink:title="EarningsPerShareDiluted" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareBasicAbstract" xlink:to="EarningsPerShareDiluted" xlink:title="presentation: EarningsPerShareBasicAbstract to EarningsPerShareDiluted" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="EarningsPerShareBasicAbstract" xlink:title="presentation: EarningsPerShareAbstract to EarningsPerShareBasicAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/verboseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:label="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesNameDomain" xlink:label="AntidilutiveSecuritiesNameDomain" xlink:title="AntidilutiveSecuritiesNameDomain" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_StockCompensationPlanMember" xlink:label="StockCompensationPlanMember" xlink:title="StockCompensationPlanMember" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AntidilutiveSecuritiesNameDomain" xlink:to="StockCompensationPlanMember" xlink:title="presentation: AntidilutiveSecuritiesNameDomain to StockCompensationPlanMember" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:to="AntidilutiveSecuritiesNameDomain" xlink:title="presentation: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis to AntidilutiveSecuritiesNameDomain" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" xlink:title="presentation: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EarningsPerShareReconciliationAbstract" xlink:label="EarningsPerShareReconciliationAbstract" xlink:title="EarningsPerShareReconciliationAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareReconciliationAbstract" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:title="presentation: EarningsPerShareReconciliationAbstract to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:to="EarningsPerShareReconciliationAbstract" xlink:title="presentation: AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems to EarningsPerShareReconciliationAbstract" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:to="AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" xlink:title="presentation: ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable to AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="EarningsPerShareAbstract" xlink:to="ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" xlink:title="presentation: EarningsPerShareAbstract to ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LeasesAbstract" xlink:label="LeasesAbstract" xlink:title="LeasesAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseExpense" xlink:label="OperatingLeaseExpense" xlink:title="OperatingLeaseExpense" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="OperatingLeaseExpense" xlink:title="presentation: LeasesAbstract to OperatingLeaseExpense" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_CashFlowOperatingActivitiesLesseeAbstract" xlink:label="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="CashFlowOperatingActivitiesLesseeAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeasePayments" xlink:label="OperatingLeasePayments" xlink:title="OperatingLeasePayments" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="CashFlowOperatingActivitiesLesseeAbstract" xlink:to="OperatingLeasePayments" xlink:title="presentation: CashFlowOperatingActivitiesLesseeAbstract to OperatingLeasePayments" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="CashFlowOperatingActivitiesLesseeAbstract" xlink:title="presentation: LeasesAbstract to CashFlowOperatingActivitiesLesseeAbstract" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseDescriptionAbstract" xlink:label="LesseeOperatingLeaseDescriptionAbstract" xlink:title="LesseeOperatingLeaseDescriptionAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:label="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="OperatingLeaseWeightedAverageRemainingLeaseTerm1" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="OperatingLeaseWeightedAverageRemainingLeaseTerm1" xlink:title="presentation: LesseeOperatingLeaseDescriptionAbstract to OperatingLeaseWeightedAverageRemainingLeaseTerm1" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent" xlink:label="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="OperatingLeaseWeightedAverageDiscountRatePercent" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LesseeOperatingLeaseDescriptionAbstract" xlink:to="OperatingLeaseWeightedAverageDiscountRatePercent" xlink:title="presentation: LesseeOperatingLeaseDescriptionAbstract to OperatingLeaseWeightedAverageDiscountRatePercent" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="LesseeOperatingLeaseDescriptionAbstract" xlink:title="presentation: LeasesAbstract to LesseeOperatingLeaseDescriptionAbstract" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:label="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="OperatingLeaseLiabilitiesPaymentsDueAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:label="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:title="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDueYearTwo" order="2.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue" xlink:label="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="LesseeOperatingLeaseLiabilityPaymentsDue" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityPaymentsDue" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityPaymentsDue" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/totalLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:label="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to LesseeOperatingLeaseLiabilityUndiscountedExcessAmount" order="4.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_OperatingLeaseLiability" xlink:label="OperatingLeaseLiability" xlink:title="OperatingLeaseLiability" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:to="OperatingLeaseLiability" xlink:title="presentation: OperatingLeaseLiabilitiesPaymentsDueAbstract to OperatingLeaseLiability" order="5.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="LeasesAbstract" xlink:to="OperatingLeaseLiabilitiesPaymentsDueAbstract" xlink:title="presentation: LeasesAbstract to OperatingLeaseLiabilitiesPaymentsDueAbstract" order="3.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
  </link:presentationLink>
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/LeasesDetailsCalc2" />
  <link:presentationLink xlink:type="extended" xlink:role="http://transact-tech.com/role/IncomeTaxesDetails">
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="IncomeTaxDisclosureAbstract" xlink:title="IncomeTaxDisclosureAbstract" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="IncomeTaxExpenseBenefit" xlink:title="IncomeTaxExpenseBenefit" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="IncomeTaxExpenseBenefit" xlink:title="presentation: IncomeTaxDisclosureAbstract to IncomeTaxExpenseBenefit" order="0.0" preferredLabel="http://www.xbrl.org/2003/role/terseLabel" />
    <link:loc xlink:type="locator" xlink:href="https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="EffectiveIncomeTaxRateContinuingOperations" xlink:title="EffectiveIncomeTaxRateContinuingOperations" />
    <link:presentationArc xlink:type="arc" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="IncomeTaxDisclosureAbstract" xlink:to="EffectiveIncomeTaxRateContinuingOperations" xlink:title="presentation: IncomeTaxDisclosureAbstract to EffectiveIncomeTaxRateContinuingOperations" order="1.0" preferredLabel="http://www.xbrl.org/2003/role/label" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>GRAPHIC
<SEQUENCE>10
<FILENAME>image01.jpg
<TEXT>
begin 644 image01.jpg
M_]C_X  02D9)1@ ! 0$ D "0  #_VP!#  @&!@<&!0@'!P<)"0@*#!0-# L+
M#!D2$P\4'1H?'AT:'!P@)"XG("(L(QP<*#<I+# Q-#0T'R<Y/3@R/"XS-#+_
MVP!# 0D)"0P+#!@-#1@R(1PA,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R
M,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C+_P  1" 0N!WP# 2(  A$! Q$!_\0
M'P   04! 0$! 0$           $" P0%!@<("0H+_\0 M1   @$# P($ P4%
M! 0   %] 0(#  01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D*
M%A<8&1HE)B<H*2HT-38W.#DZ0T1%1D=(24I35%565UA96F-D969G:&EJ<W1U
M=G=X>7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7&
MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$  P$! 0$!
M 0$! 0        $" P0%!@<("0H+_\0 M1$  @$"! 0#! <%! 0  0)W  $"
M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF
M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$
MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4
MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,!  (1 Q$ /P#W^BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBD) H 6BF^8OK2
M>:GK0 ^BH_.3UH\Y/44 244SS4]:7S%]: '44@(-+0 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 44A8"F^8OK0 ^BH_.3UH\Y/44 244SS4]:7>OK0 ZBD!S2T %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %
M%%% !1110 4444 %%%% !110: "BD%+0 E+5*^O%MADFJ*ZRA_B%-(3:1MT5
MB_VPF?O"E_M=/[PI\K%S(V:*QO[73^\*0ZPG]X4<K#F1M45C?VNG]X4'6$Q]
MX4<K#F1LT5BC6$Q]X4HU=#_$*.5AS(V:*Q?[83^\*7^UT]11RL.9&S16+_;"
M9^\*7^UT]11RL.9&S16,=70?Q"C^UT]11RL.9&S16-_:Z>HH_M=/44<K#F1L
MT5C?VNGJ*/[73U%'(PYT;-%8W]KIZBC^UT]11RL.=&S16+_;"9^\*/[83/WA
M1RL.9&U16*=80?Q"@ZP@_B%'*PYD;5&:Q?[83'WA2?VRG]X4<K#F1MT5F6^H
MK*P -:0.0#4M%"T44'I0 45E76IK!)M)J)=80C[PJN5BNC:HK(&K(1U%1G64
MS]X4<C%S(VZ*Q/[83^\*7^V$QG<*.5AS(VJ,UBC6$Q]X4G]LI_>%'*PYD;>:
M,UB?VRG]X4?VRG]X4<K#F1MT5CKJR'^(4[^U%]11RL?,C6HK,&HKZTIU%0.H
MHY6+F1I452M[Q9FP#5VDU8I.X4444@"BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HI&.%)K)EU5(YBF1Q32N%S7HK%_MA,_>%+_:
MZ?WA3Y63S(V:*Q3K"#^(4O\ :Z?WA1RL.9&S16.=60+G<*:NL(3]X4<K#F1M
M457M9Q.F0:L5)04444 %%%% !1110 4444 %%%% !1110 45%/((H]QK+?5T
M5L;A32N)NQLT5BG6$_O"C^V$_O"GRL7,C:HK%.L)C[PH_MA,?>%'*PYD;5%5
M;.Y%RFX&K524%%%% !1110 4444 %%%% !1110 4444 %%95SJ:PS;"141UA
M,XW"J46R>9&U16,VKH/XA0-73U%'*PYD;-&:QSJR 9W"F?VRG]X4<K#F1MT5
M5L[D7"9!JU4E!1110 4444 %%%% !1110 4444 %%%5[NX$$>XF@"QFL?4M0
M%NV,U4E\01H<;A7'^(-?$DAVO6]*FY2U,:E1*-T;5WXD$0/SUAS>-51B/,_6
MN'U75G(;#UQMW?S%R0YKNCA4SD6(=SV+_A.ES_K/UIX\<+_ST_6O#OM=QNSO
M:IA=S[<[S3>%0Y8BQ[E!XT5SCS/UK9M/$HEQ\]> 6=_,&&7-=3INKNA7+T/"
MJQ*Q#9[UIM\+CO6MFO+_  [XA5"-SBNNCU^-_P"(5PUJ3C*R.RG431T5%5[2
M<3Q;@:L5SFP4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !15:[N!!'N)K/&KH1]X4U%L3:1LT5C?VNF/O"A-81G W#FGRL7,
MC9HID3[XPWK3ZDH**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBFNVU2: '4C$!2:RKG5$A)R169<>(XT5AN'2K4&2Y(FU'5A;NP
MW=*YVZ\5K%GY_P!:Y[7==\R1BKUPNI:E(V<.:[:>'N<DJUCT=_'"AL>9^M+_
M ,)NO_/3]:\5EO)R^=QH6\GR/G-=*PBL9/$M'NMOXP5R/G_6MF#Q"'4'=7@E
MEJ$JL,N:ZNRUA@B@O64\,D$<0VSW?3K@7$ ;-7:\_P! \1HEJ%9QFNBBUQ).
MC"O/E!IG=&::-ZBJEI="X'!JW4-%W$[TM)WI:0(****!A1110 444UVVH30
MZBLQ]256QFC^TEQU%5RL5T:=%9G]HKCJ*3^TE]11RL.9&I167_:2^HI!J:GN
M*.5BYD:M%9?]I+ZBC^TE]11RL.9&I167_:2^HH_M)?44<K'S(U**R_[27U%'
M]I+ZBCE8N9&I167_ &DOJ*7^TEQU%+E8<R-.BLK^TU]12_VDOJ*.5AS(U**R
M_P"TE]11_:2^HI\K'S(U**R_[27U%']I+ZBCE8N9&I169_:2^HI&U)0.HHY6
M',C4I*S?[27&<BG1:@LD@7-*S'=,T!2T@Y%+2&<9XWOC9Q YQ7#PZ\?[U;'Q
M8N3;VZX->3IJ9$8.ZNJA"YR5Y69Z'_;QW_>_6I/[=/\ >KSA=58O]ZI6U5@/
MO5U^Q.;VIZ"=>_VJ:VO'^]7GBZLQ_BH&JL3]ZDZ0*KK<]%&O''WJ1M>.W[U>
M>#5FS]Z@ZJ2<;J%1U'[4]"77CM^]3EU[@_-^M>='56'&ZC^UF'\5-T1QJZ'H
M@UXY^]3O[>_VJ\Y.JL/XJ0ZNV/O4_8:B=4]$_MX[OO4\:]S]ZO.!JK?WJ7^U
MF_O4.@'M3T5]>.?O?K1_;W'WJ\Z_M5C_ !4G]K-_>J?8#=4]&_M[_:H.O<?>
MKSE=68G[U(VKMG[U2J.I+K'HXU[C[U U[_:KS@:NW]ZC^UF_O5HZ(E59Z.->
M_P!J@:]S]ZO.#J[#^*C^UFQ]ZE[(/:L]$_MX[_O?K2G7CN^]^M>=#56Z[J=_
M:K==U/V)2J-GH;:\<CYOUI'UXX'S5Y[_ &JQ_BI/[58_Q4>Q#VC/1/[>.W[U
M,_MXY^]^M< NJL3C=3'U0@_>K*5*Q<:I[!H.K>=<(-W>O28CF)3[5X)X.U R
M7\0SWKWFV.;:,_[(KBJ*S.VF[HEJ.:01H2?2I*RM<G,%J6![5"W+.!\2:SY5
M\RAN]9<&O';]ZN4\4:J3J3?-WK&35F7C=7H4Z=XG#4J69Z8NN_*?FJHVO$N?
MG_6N!;6&5?O5#'JK,Q^:M_8&'MCT5M>./O4[^WCL^]7G?]J$MC=2_P!JMG&Z
MI= %5/0UUX[?O4P:\?[U<!_:A!QNI&U,@CYJ7L2E5/0?[=/][]:3^WCG[U<"
M=3./O5&VJ$#.ZFL.5[6YZ7#KO^U5E=<Y^]7E\>KL!]ZK":RV,[JET!^U/44U
ML?WJ636QC[U>8#7&'\5+_;C'^*E[$2JZGK^B:TAN/F>NL&K0G^(5\^V?B%H)
M-V^MJ#Q:Q;_6?K6%2@[FT*R2/:QJ,1/WJLQ3+*.#7D-KXG+2 ;_UKO\ P]J2
MW$>2PZ5A.DXHWC439TE%,$JGH13^M9&@4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110!!=S"*!R3VKRG4]<V:I(H;H:[OQ/>?9K1CG'RU\_Z
MQJ[?VI(=W>MZ4+G/6J6.[.O'=][]:=_;W/WOUKSG^U6QG=2?VNW]ZNR-*YQR
MJW/17UXY^]3O[>.!\U><KJK'^*C^UFS]ZK]B+VK9Z3+KW[K[U1P:Z=X^:O/#
MJ[,,;J(]58,/FK.5&R-:=0^B?#%U]IM-V<\5T%<)\.;L3Z9DGM7=UY\E9V.Z
M.P4445)04444 %%%% !1110 4444 %%%% &9KDWD6#/7E]UKI$Y&[O7?^-)O
M)T21O:OGVYU9C,WS=ZZ*,;G/6=COVUX\?-^M!UXX^]7G0U9C_%2C56/\5=?L
M3F]I8]$;7CM^]^M)_;QV?>_6O//[5;INH&JMG&ZFZ0O:,]Z\)ZLDUOAFY-=@
M#D9KP'PGX@,=_%#OZFO>+.02VL; ]5K@K0Y6=M&7-$GHHHK(U"BBB@ HHHH
M**** "BBB@ J.:01H2?2I*Q_$%R;>S+ ]J:U X'Q!K?E:J5#<9K/.NG>/FKC
MO$FK,=39MW>LU-58KG=7?3IZ'#4DST2;7NGS?K2KKW ^:O.'U9B?O4#5V_O5
MHJ6IBJCL>E2Z[^[^]59=>.<;JX ZNS#&ZHDU5C,!NI2II(N%34^B?"-U]IL]
MV<\5TM<+\-YO-TS.>U=U7G2W/06P4445(PHHHH **** "BBB@ I"<#-*3BJ]
MQ.J0L<CI0@&2WT<75JYSQ)K4269VOSBN=\2>(?L[, _3WKS[5?%#W"E-^?QK
MJIT&V<TZRL7=0U^02'#'\ZP+G5Y)FR6-4)KDR1ELU41MPS7I4Z-M3AJ5-"Q=
M7+/WK/D3=5DC=2%:[(P.5S*XB&VI/+'ETIZXH![4-"<KB1#;5@7#1XQ3%7FG
MR)Q4V"#U-*RUB6)A@FNHL=??"Y8_G7 CY35N.\,8'-<U6E?4[*<VCZ'\.:S$
M]@NYN:Z"*^CD/#5\_:5XH>! F^N[\/\ B'SY4!?K[UYDZ#6IWPJIH]0!R,TM
M003J\2G(Y%3]:Y3<**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH *1C@9I:BG8+"Y]!0)G,^*=42"T(#<BN%CU[Y?O?K5#QIKQ^V20[^AKB%
MU9@<;J]"E2]TY:D];'H_]NG:?FI+773]J0%N]>>?VLW3=2IJI2=#N[TW2T,N
M?4^E=)O$N+2/!R<5I5YWX#U4W:HA;.*]$K@DK,[H.ZN%%%%24%%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 444A('6@!'<(N369>ZG%'"WS4NKW
MBPV;-N'%>4ZYXF*%U#]_6M:=-R,JE11-#7=<P[;6KB=0U^7G#'\ZS+S66N'/
MS9K-FD\P5Z,*2..I4LBU-J;R]35*60N*KY^;%25V4H6.*=09Y8(IJ1C-29QQ
M0>#739&+;8+\IXJU%=.AZU!CBG,N$S6-2-RX-HUK77)8I H8X^M=;IFOL0,M
M^M>9EMIS5ZSU$Q]ZXI4=3KA49[_X:UA'7YFKJXKI)ONG-?/^C>(F@(&^O3O"
MFLB[<!G_ %KAK4FG<[:=6ZL=T*6F+(K=#3ZY3I"BBB@ HHHH *SM3ODMX&!.
M#6C7F?CW6&LY2@;%5"-W8F3LB.ZUL><V&[T@UL%?O5YL^M,[L=W>DBUHEB-U
M=RIG*YGI?]MC'WJ3^VQ_>KS9M:8-C=31K;;OO5HJ5S-U3THZV-OWJ:FN#^]7
MG#ZTW]ZF?VTP_BIJB+VIZ8-<&?O4G]MC/WJ\T_MML_>J0ZRVW.ZCV(O:GI/]
MN#^]1_;@_O5YG_;;?WJ4:VV/O4>P'[4]+_MP?WJ0ZX/[U>:?VVW]ZD_MMO[U
M-T!>U/2SK@Q]ZG#6QL^]7F8UIB?O4O\ ;;9QNK-T1.J>C_VX/[U.77!_>KS0
MZRV?O4IUIA_%2]B"JGI?]N#^]2_VX/[U>:?VTW]ZD.M-C[U-4="_:GI1UP?W
MJ!K8S]ZO-/[:;'WJ4:TV/O4_9$.J>F'6QQ\U-FUP;!\U>:KK;'^*D?6F/&ZE
M[(2JGIJZV/+^]5K2-8$VH(F[J:\J&M-L^]6KX4U<RZ_$F[J:SG2LKFM.I=GT
M+&<QJ?:G5' <V\9_V14E<)WGD'QE_P"/=*\=4'R17L?QD_X]TKQX'$ KTL(K
MH\[%.TAD0.^GS9'%$/W\T^9<G->DHG Y%=<BEP13@N33BO2DX:BYAF".:;SF
MIRORU'MIJ <PTY-+M)I^VG@8%/D17/H1;2:9M).*G'%"CYLT^43F1!3G%!4Y
MJ;'.:#US5<BL',1;2*0J:F(S2'FI<-!\Y"J$<TC(2:L=J3%1[,AR(-AI=AQ4
MV*=CBFHB4RMM)H"DG%3*.: ,-1R*Y7,1[3G%+@CBI.^:#US5<A2G8CVD4;2*
MD(S0>:7('.1X(YIK@[<U*W(Q2./W593AH.,]3K_ H)U"(^]?15K_ ,>L?^Z*
M^=O G%_%]:^B;7_CUC_W17CXA6D>MAW=$U87B89L6^E;M8?B3_CR;Z5C#<W>
MQ\W^)23J[#WK'8$2 5L^)/\ D-,?>LF09D!KV:,=#RJ[U$D!I$4K4K#.*".*
M[8P./F&!3G-*5/6GBAL8Q2< 4B, DYIQ!-.4?+0.*A15RE+03DU&X/2IAQ32
M*UY1J9$ 0*D4GI2XXI!UJ7 ?.(Q(I-Q'>GL,TS&:ATR5-B[SZU-'.R<YJ+9Q
M3'SC%1*F:*9JP:F4<'=79Z#XK^S*%W_K7F.UJEBDEC88)KEG2OH=%.KJ?0FD
M>)!=,HW]:[BUD$D"MGK7SKX=U9H9$W/WKV/1-=66V1=PKAJTK;';3J7.NHJ*
M"3S$W5+7,;A1110 4444 %%%% !1110 4444 %%%% !1110 4444 <-\0)O*
MLSSVKYZO\R7[GWKW;XGR;+/\*\*D^:<M7?AXWB<&*>I'M.,4W8:G]Z.*]&G#
M0\YRL,1"*:R$5.*1AFMN0(R($4DT/E:EC'S8IDXXK*<-#6$]3UWX::EY=LL>
M>M>P1G=&I]17SSX!N2EU$F>]?0=J<VT9_P!FO%Q$;2/6I.\2:BBBL#4****
M"BBB@ HHHH **** "BBB@#E?'O\ R+\OT-?--QGSW^M?2_CS_D 2_2OFJX'^
MD/\ 6NW"JYRXAV(D4TXH13Q3G(Q7K*F>;*9%M.,TJH2<U(<;*%("T2IZ"YRS
MI-R;?6(3GH:^C_"VH?:[./G.%KY@C8B^1QV->Z?#W4,P*I;M7FXJ&ESOPTST
M^BFHVY :=7G'<%%%% !1110 4444 %%%% !7/>*QG3V^E=#6%XG&;$_2JAN*
M6Q\V^(U/]I,/>LR/(7%;/B5?^)FWUK)"\UZ]*-T>56GJ1E3FG.A4 T_J14DH
M!45T\AS<Y6"G&:=#&3,#4A&$IULP\P"LZL?=-*4KL][^&(QI7X5Z!7!?#/\
MY!?X5WM>)4^)GLP^$****@H**** "BBB@ HHIDK[$S0!%>2B*W9L]!7G^L^)
MA"LB[_UK9\0ZXL%K(F[M7B>NZH\TLF&/)KKH4;[G/5J6$UO63=S,-W>N=D4L
M<U#EVE))/6K>1LKT:<+'FU*A"&XVT*-O%(!^\S4C#)KMC'0PE*Z#.*&.!2$4
M,,BK,AN,G-/"<9I%'%2Y&S%#0DQ@..:'DR*3M3=AJ+%Q(R_-+R:8R$&IHUXH
M<;FJG8;"Y68<UTNE:N;.=/FKF<8ES22NWF @FN6K3T-X5+'O.A>)Q<>6F_\
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
MU[[\.IC):@$]!7CXV/4]C"RZ'H-%%%>8=P4444 %%%% !1110 4444 %%%%
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
MI*%P\8(]*DK.T>;SK16SVK1KQ&K.Q["=T%%%%(84444 %%%% !1110 4444
M%%%% !11368*,F@#$\17ZV^GRC.#BOG?Q'?/<7<F3_%7J?C[5_*+QJW6O%KR
M7S9V/J:]'"TKZG!B:EB 9ZU- ?GYI ORTT':U>O"'*CRW*[)I,>956X^]Q5C
M.1FH?+:608&:RJ3L;1C<=:6SSN !7::1H4C;25_2F^%M&::1=R=Z]?TWP\B6
MZ':.E>=5K6.ZE2,SP]HJJ5W+^E=<NE0C^$5):60@Q@5?KAG-MG9""2*(TZ,?
MPTOV",]JNT5%V59%!M-B/\-9NIZ/$T!PHKH:CFC\Q<549M.XI131XSK^AG#;
M5KS;4M-EMYCD'K7TM=Z,D^<J*\U\9>'Q"'*I7H4L1=V..=#2YY$^<@5.ARM+
M+;.DK!@1@TD7!(KT*<KZGGU8ZC"?FQ4H&5J+K+4H^]BM)ZD15F.M)S!=*0<<
MU[A\/]3\V(!CVKP>4[9017H_@#4O+D52W>O.Q-.Z.^A4L>\JVY<TM5;&82VR
M'/:K5>4ST4%>._$R!I+PXKV*O/?&=A]HG)QFKI.TB*BO$\,:R?>>*22R?'2N
M[.B'<?DI#HA/\%=\:IQRIZ'"FQ?R^E(+%]G2N[_L0XQLI5T0]-E:>V(=(X,6
M+[3Q2)8OSQ7?-H9'\%,_L0C^"I=42I'"K92;NE*+)]W2NZ&AG^Y1_8AS]RJ]
ML-4C@I+&3TJ+RFCZUZ')H9\HG97+ZK9?9V((Q6]&K=F%6G9&)FGYJ+/S4Y37
M98Y+6'L?EI%0LN!UI,Y;%6]/C\V[5/6IF[(N*NRLMFY;I3Y+)QCBNU31"2IV
M5+/HA^7Y*X)5=3K5/0XA;*0CD4@L7W=*[S^Q"(Q\E-&B'^Y4^V*C2.&^PONZ
M4/9/GI7=?V(<_<I#HA/\%#K%^R.%-D_I2M8N1TKN?[$/]RG+HA)^Y4>W#V5D
M<*M@X'2M7P?:.GB>$D=ZZD:'_L59T'1S#KD;[>AI3J7BPIT_>/:+;_CVC_W1
M4M,A&(4'M3Z\P](\@^,JYMEKQVV;Y0*]F^,(S;+7C$0V\UZN"V/,Q>Y-U?%(
M_P O%$?,F:6;EJ]:#U/-:&*<TC+BGJ,4I&:8EN, P,T$<9IW48H/3%-,=AJC
MC-+G-*!\M"KQ0V2"G-.#YXI@&W--!^:E<=A6/S8I1P*7;DYI331+%!P*;WHH
MH) G%-/(S2D9I3]VF6MAR)E,U&XP:GA/[NHY%R:8QF_BG*<TPKBE3K4,=AQ.
M3BFGCBEQ\V:#R<T"$Z&E;@4F,FE/(H%8=%P<TR;DTY3BD<9&:RGL;01V?@;_
M (_H?K7T+:_\>T?^Z*^>? __ "$(?K7T-:_\>L?^Z*\/%_$>OA=B:L7Q#_QY
MM]*VJQ?$/_'FWTKGI_$CHG\)\W^*3_Q.7'O66IXQ6GXI'_$Y8^]9@%?145>)
MXE?<#P:#Q2D9-(XXK9HYKCU/&:CDY.:>HXIKCBIV%U%3[F:3=S2*<(:A+X-'
M,:<MRRIS29^;%1+)BC?@YJ92'RDN?FQ0QYQ4/F?-FEWY.:+ARDOW32L>*B,F
M:-^1BM(RT)<=10<&IU7(S5:K"-\N*7,#0UFJ/;GFGL.:51Q5(+Z$>:>#D8I"
MF#0!CFGNA7T$*Y.* /+<&G=\T.-PK"K"Z-:<K,]-^'NJ["J;NM>UVS[X%;U%
M?-?@^X,%[&N>K5]&Z6V[3XCZBO#Q,;,]C#NZ+E%%%<IT!1110 4444 %%%%
M!1110 4444 %>8_$B?RU(SVKTVO(_BI)M?&:VH?&C.J_=/'[EMT['WH3D4UO
MFD-/48%?04]$>!7>H'K24IY-+BNBVA@B,_*:E!P*B;DT[/%9V-'L*_K35;!I
MS?=J,#-:I:"2'2_,A-=[\-=1^SRA,]37!N,1D5O>#Y3%?1C/5J\S%1NCNP[L
MSZ9M'\RV1O45-5+2CNTZ(_[-7:\1[GL+8****0PHHHH **** "BBB@ HHHH
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
M;J6.[4+G&:\C$GHT-SZ/C?>@8=Z?5336+6,9/4BK=<!W!1110 4444 %%%%
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
MSS7O?@G2OL5NI*XR*\;$O4]/#HZZUC\JW5/05-117$=@4444 %%%% !1110
M4444 %%%% !7*>,+OR=-F&>U=77F?Q#O?*BDCSU%;4(WG8SJNT3Q'4)?/OI#
M_M4@X45 3FYD/J:ESQBO=@K(\:L]2.5N*Z;P9:^9JD9QWKEI>*]&\ 6>Z>.3
M%9U9V3%25V=%XLT\"S)Q_#7D3ILGD'O7O?BN#.G,<?PUX/>G;=2?6C#SO$JJ
MK,K,.::R[1NIR'<:=(,KBMIZD(ZOP'<_\3F)<]Z^CH#F!/H*^7O!\WD:[%SW
MKZ6TJX\^U0Y_A%>+BU[QZN&E[MB_1117(=04444 %%%% !1110 4444 %%%%
M &-XANOLMDSYQQ7SOXINOM>J,<YYKW/Q[+Y6D,<]J^>;U_,NBWO7H8.%U<X\
M3*VA3;Y#M]:>HVBDD7<X-&>*]6&AYDM6,EXKI?!NG_;;]5(SS7-R?-M'O7IO
MPXL,7B2$5RXFI:)T8>%V>F:-HXM ORXKI@, "D50%'%.KQI2;9ZR5D%%%%2,
M**** "BBB@ HHHH **** "L[5K87%NPQVK1IDB[HV'M33LQ-71\Y^,=.\J]D
M.WO7)'Y82*]A\=:5\LDNVO([B/:Q6O8PL[H\S$0L58#Q4DG2F8V4N[=77)W.
M1:,L:;+]GNT.>K"OI7P?,)=$B.>U?, ;$R'T->]^ -5#V,4&[H*\O%K0]+#O
M4]&HH'2BO/.T**** "BBB@ HHHH **** "O#_BJF=0S[U[A7A_Q4?&HX]ZZ<
M)_$.?%?PSS$CK3(Q\YJ;K4>,&O?B]#PVPD.1BM_P-QXAA^HKG6/-=%X'/_%0
MP_45S8E^ZSJPWQ'TW;_\>\?^Z*EJ*W_X]X_]T5+7@'M!1110 4444 %%%% !
M1110 4444 <WXFLA=(!C-<X-$7:/DKT"XMQ,.:K_ &!<=*N,K$2C<PCI$?\
M96W8,XK$311S\M=_]G'E;*@%@OI6D*MB)4[G$'1%_N4G]BC^[7<_8%]*3[ O
MI5.L1[$XDZ*N/N4W^Q1_=_2NY^PKZ4GV!?2E[8;HG$#15_N5M:=I$:VS@H.E
M;WV!?2IHX BD"G*M=6"-*SN>4>)M+6/S"%KRC45V7+#WKW_QA:JMNQQVKP/5
MQB^<>]>AA9\QPXB'*5DZ4A^]3D^[36KTX[' ]&#<TV@<BG+UK7H),"/EJ2W^
M^!3:6$_OQ7/4=D:4U=GIOA331/;AMN:ZB315('RTOP]M%ETP,1VKMC8KZ5XM
M2O:5CU8T+HXB+15[I36T1=_W*[D6*CM2?8%]*Q]L7[ X?^Q1_=IK:*-WW:[K
M[ OI1]@7TI^W*5$X?^Q1_=HDT48^[7<?8%]*#8*>U)5P5$Y;1]&1)\LE0:KH
MJM=DA*[2&T6)L@4V6S61\D5'M/>N:1A96,OP_IR00_=YKH0,#%0P0B)<"IJS
MD[LM!6+XB_X\V^E;58OB+_CS;Z4Z?Q(4_A/G#Q3_ ,AA_K62*U_%/_(7?ZUE
M#[M?04?A/%K+4:_-$?6G#FA.#75$Y6A9!Q4<8^<"I320C]\*QK/0NEN>S?#G
MBS7->GJ/E6O,?A_Q;+BO4(Q\BUX6(?O'K4%=#QTHI:*YCK$I.].- H!H:101
MQ3J2@5B%HPU<]KNG++ WR\UTV*KW$ D0@UI"=F93A='SYXFTHPNS;>E<<IP6
M%>V>,]*'V>1@M>*S(8[EP?6O4H3NCSJL1%7FGTO&!BF,>*]"".22LQW:E'2F
MJ>*4GBM$[,@CD/RFMOP=<&&_&#_%6$_0UH>'G\N^3_>%<&*C=';AWK8^G]#?
M?ID;>U:58_AIMVC0GVK8KPI;GLK8****0PHHHH **** "BBB@ HHHH YKQ==
M!-(F3/:OFN_.Z]E/^T:]S\>7ACCDCSUKPN[YN&/J:]3!0ZGFXR1!VIR\&G./
ME%(>%KUXK0\UBL.]1PC=<J/>IC_J<TW3UWWJ#WJ9ST+IJYZWX.M<Z<_'\-<7
MXRB\J=_K7IG@^VQIK<?PUP'Q"A,;L<=ZX83O4:-90TN<0O*5(G3%16_*U*O^
MLQ7=3U1SR0O>HIOO U+)PXIDG45,UH5#1GI7PONO*NL$]Z]QB?S(PPKYT\%7
M)ANEP>]?0&DOYEBC'TKP<1&TKGM8>?-$O4445S'0%%%% !1110 4444 %%%%
M '+^.O\ D 2_2OFRZ_X^6^M?2?CK_D R?0U\V7?^O?ZUZ."1Y^,W(SS01Q2I
MTIU>U#8\F6Y%3UZ4G\5.K61+%[4(,4W/S5-QMH\RDM")SFDZC%(.6-.'6N:I
ML:TW9G3^"[PP:Q&">,U]%:?<BXMU(/:OEO1[@P:DK ]Z^B/!MT;G3P2<\5XV
M*A;4]7#3OH=11117"=@4444 %%%% !37^XWTIU(_W#]* /G'XBC_ (J!S[FN
M-[UVWQ& _MQS[FN*3D5[N%7N(\+%+WV.*Y%"=:EC *FHQ]XUZ,6<MM"1_N5%
M%_K!4F<TV+_7BL*ST-J.C/?/AA_R"OPKT"N!^&7_ ""OPKOJ^<J_&SWJ?PH*
M***S+"BBB@#Q_P"+,A6117DCC<,UZG\7FQ*M>5QG(KV<&KP/,Q7Q#$&&J>0_
MNL4P\&@G/%=\=#SFPA'[HYI8FPK"DZ+BHD)\P#U-.;T'#<ZCP98-<:CG&1NK
MZ%T6V$-B@QT%>3_#:P#W 8BO9XD$<84=J\'%3O*Q[6'A97)****Y#I"BBB@
MHHHH **** "BBB@#/U.V6:W8$5X=XVTDK=,P7C->_2+O7%>?^,M*$D4CA:Z\
M+4L['-7A=7/!60HQ%"#FKVH0&&X8$8YJIP!7LJ5XGE5%9D3?*V:L01^<0!4$
MPRO%;GAW3Y)YU.W(K.I.R-*4;G4^#]$)GC=E[U[=8VZP6Z #'%<QX7TA8H%8
MKSBNQ4;5 ]*\6O*\CU:4;(6BBBL34**** "BBB@ HHHH **** "BBB@ [5XM
M\4)RMX5S7LTCB-"37A'Q0N5DU+Y3WKIPOQF-=^Z>< ?.QIR]:51UH7[U>XGH
M>+/5C9$W8 KV'X>6>+6-B*\GMH_,F ]Z]W\"6H334.*XL1*R-**U-3Q+!OTR
M3C^&OGC6HC#>2?[U?36LP[]/D'M7SOXPM_)O6X_BK+"S-ZT# @&.34HY:F#
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
M*EKP#V0HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
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
M#WBU6O48_N#Z5Y=X _X]UKU%/N+]*\'$_$>QAU[HX4M%%<QU(****!B4M%%
M!1110 AKD_%G_'G+]*ZPUROBL?Z'+]*WH?&<]?X3YXU,XOYOK6;CY\UH:MQ?
MR_[U4L9%?04%H>-/<F3[M,;[]/0\8IC??KH9D+(.*ACYE7ZU.3E:A@'[\?6L
M*A<-SV+X= ^:E>OCH*\D^'@_>)7K@Z5X&*_B'N8?X HHHKF-PHHHH **** "
MBBB@ /2O/_B%J 7298L\X-=^WW3]*\5^(]XP>2//'-;4(WFC*M*T3R1B6F8^
M]3J?EQ4,8R2?>I:^BIJR/#F[L?;C#$TDGWB:>#M%-?D53T,T]0MANG KVWP!
M;8LU..U>+::NZ]4>]>_^!K?;IPX[5YF+GH=^'5SLHONBJVI+NMG_ -TU;B'%
M17:YA?Z5YB=I'?)>Z?.OC&#;J$IQWKEQ]RN\\<0;;F1L=ZX0?=KVZ#T/*KJS
M$0<4Y>*!UIKG!KK3T.=#)5[UW'PYNO)U1<GO7%/RM;?@^X,.ICGO7+B5=6.N
M@]3Z;M9?-A#"IZRM!E\VP5O:M6O!DK.Q[$7=!1114C"BBB@ HHHH **** .8
M\<_\@&3Z&OFVZ'^D.?>OI'QU_P @&3Z5\X7/^N?ZFO1P.YY^,(#S2]:1:5>M
M>Y$\I@?NXI!Q2YYH-.;L2T&TDYI#R:N00^9$2!5:2,QMS6?,5;08_04B\"E?
MD4'[M4"';?XJ8XW"K( ^S^]0#[I!J9ZH<'J;7ABZ-O>1\X^:OH?0;P3V40SG
MBOF73Y#%=(1ZU[OX%OO/C1<]!7C8JGU/2PT];'?BBBBO./2"BBB@ I'^X?I2
MTC?=/TH ^??B(/\ B<.?<UP8Y:N^^(W_ "%9/K7!1]Z]S"OW4>+B5[[%-!YI
MQZ4Q#S7HHXQ3]W%$/^L%(>M/A_UHK*LO=-Z2U/>_A@,:5^%>@5P/PS_Y!?X5
MWU?.5OC9[E/X4%%%%9%A5'5O^/"3Z5>JEJG_ !XR?2FMQ/8^=?'*?Z8W^]7*
MH.!78^.%Q=-]:Y&,5[6%>AX^(W%/3%'\.*3^*@GFO2BSC: #BE3Y'!-*.M)-
MQR*FJ[H5-ZGJ?PYOPEP 37LT+^9&&KYO\%ZA]GNQD]Z]]T6^6>U3!YQ7S^)A
M9W/<PT[JQKT445R'4%%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !7-^+YO)TUFSCBNDKB/B!=!-*8 ]JNFKR1
MG4=HL\*UUS/>LV>]9 &'%:5RXD<DU188>OH*2LCQ)OWATW*5:\.VQFOEX_BJ
MHW(Q73^"+3S;X$CO45G9&],]V\,1>7I40QVK? XK-T>/R[)%]JTQTKPZCU/2
MI+0.U5+U-UK(/:KE0W S P]JF+U+DM#Y^\<VVR>1L=ZX$)@UZS\0+3ACBO+W
M4 XKV:+NCRJRU&J,"H7_ -<#4_1*BQDYK>K&Z,(O4]>^&%Z(UVDU[#&V^,-Z
MU\]^!+TPSJN>IKWW3WWV<;>HKQL1"S/7P[O M4445S'0%%%% !1110 4444
M5K\XLI3_ +-?.OC=C)>2CWKZ)U'_ (\)O]VOG#Q5(#J4P/K7;@U>1RXGX3F8
M1@8I\AR,4B_>HZO7M11Y$MQJH<5Z]\)(!AB17E"XW 5['\*DVH:X,:_=.["K
MWCU0#'%+117CGIA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !7AWQ6_P"0A^->XUX=\5C_ *?^
M-=&%_B&&(5X'ER\L:D-,AZFGCK7OPV/$FM1'^YBMKP1_R,D/UK$;K6YX)'_%
M20_6N?$_ SHPWQ'T_;?\>T?^Z*EJ*V_X]H_]T5+7@'M!1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110!R?C$?Z(WTKYZUC_ )"$GUKZ
M$\9'%HWTKY[UC_D(2?6O3P1YV*W*(/:E)P<4JKWI&'->O#<\R8$TAHZT=:T,
MP(^7-/MO]<#28R,4Z 8F%<U78Z*.Y]!?#<YTD?2NYKA?AM_R"1]*[JOG:GQL
M]VG\*"BBBH+"BBB@ HHHH **** "BBB@ K%\1?\ 'DWTK:K%\1?\>3?2KI_$
MB9_"?.'BG_D,-]:R0>U:WBD?\3=OK64!QFOH*.QXE;<1Z <4[[U,/6NI'./)
M^6D@_P!:*!SQ3H!^_ K"J]#2FM3VCX?<VRUZC']P?2O+_ '%LHKU"/[@^E>'
MB=SV*&P^BBBN4Z0HHHH *0TM(: 8F:44VG"F2F!KF/%&#92_2NG/2N/\73;+
M60>U;8?XS'$?"?/FK_\ (0F_WJJH,U:U7F^E/O51#BOH:+T/%GN)G$F*>_6F
M 9DS3GZUN0-W<41#]ZI]Z&&*=#_K%^M8U=BH;GL?P\^^E>MCI7D?P\_UB5ZX
M.E?/XKXSW,/\ 4445S&X4444 %%%% !1110 C_<;Z5X%\1Y?]/D7ZU[Y)Q&W
MTKYT^(DV[7)$SW-=6%5YG/B7:!Q,(^4U(HI$&WBG=*^@@M#PY;C2:<O-&W-(
M?E%.>PD7=%3=JBCWKZ)\'Q;-/ QVKP/PS#YFIH<=Z^B/#D?EV:CVKQ<4]#U<
M*C: Q4<XS$WTJ6FR#*'Z5P+<[&M#Q7Q_!M\QL5YAT4U[%\0(,P.<5X\XPY6O
M:P[T1Y-=:D8:D)R:5A@TJKFN[H<HX<K5G0)?+U,?6JOW:DLOW5R']ZPK*Z-Z
M+LSZ:\)/YFE(?:N@KE/ DOF:&ASVKJZ^?J?$SVX?"@HHHJ"@HHHH **** "B
MBB@#F/'/_(!D^AKYMNC_ *0P]S7TEXY_Y ,GTKYLNO\ CY;ZUZ.!W.#&$;<8
MI3P*&&:.O%>W$\EC2:"?DS1CG%*P^7%$P-[18/.@Q577+8VS#C%:_A5-\J)Z
MFKGCK3OLZQG'45R2J)2L;QIW5SAT.12]\5&#MJ3MFNA/0R:U)5;C;4,IVR8I
MZGC--(WOFG+X28[CU.Q@U>L?#"^WW&TGI7D[#Y:[/X>7WV:^Z]ZX,3"\6=F&
ME:9]#@Y&12U5L)?.M5?UJU7BM6/904444@"D?[A^E+2-]P_2@#Y[^(Q/]KR?
M6N#0\UZ#\1T_XF<C?6O/HAG->WAOA1XV)7O,>YIBG!J4KFD"5Z<3B$/3-+#_
M *P4['%)$/WHK"M\)M1W/?/A@<Z5^%>@5P'PQ&-*_"N_KYRM\;/=I_"@HHHK
M,L*J:B,V;CVJW45PF^%E]::!GSQX_0I=GCO7&]%%>D?$VS\J?..]>;9[5[.%
MU2/(Q*]X3-!I2.*D5,K7IHX]QBFG-\RFFGY6Q3_X:F;(2LQVF79MKD$''->V
M>"=8\X(K-7A"C$F?>NX\+:N;65?FQ7EUZ?,CTL/.Q]$HX<9%/K'T&\%W8J^>
MU:^X>M>3)6=CTXNZ%HHHI#"BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** &N<(3[5Y1\0[[_ $=TSTKU:;B%_I7A/Q#N
MOWLB9[UT8=7D<^)=HGG?FEGI']:9"-W-6A'E,U[U/X3QG\150Y;%>D?#ZTW7
M0..]>=(O[\#WKU[X=6W[Q3BN7%2LCKI*[/5;1-D*BK0J.,84"I:\63U/3@M
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
MKBE3:9U1FFC7HJG;WJ3' -7*AJQ84444@"BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@".XXMY/]TU\Y>/KC?J<R9[U]!ZG<K;VLA8
M_P )KYH\87'G:W,0>,UUX1>\<>+=HF)!PE6E<!#59!B.C<=M>Y#2)Y2=V/A^
M:[0>]>Y^ ;;RXT;'45XCID1FOH\?WJ^AO"%MY5E$<=J\_%O0[Z*U.M'6I*C%
M/%>2SO@+3&I]-H0Y'->)[;S[1N.U?/OB*+RM0D7T-?3&HPB2W?(_A-?._C&W
M*:K+QWKT,++H>=7B<[%]RFOQ2QG"TC\FO86J.#9DUB^RX3ZU[GX#GWH@SVKP
M2-BLRGWKVCX;7(D=5S7FXQ:'H866MCU>BBBO(/2"BBB@ HHHH **** .%\=R
ME+=@#VKP+4#F\D/O7NGQ"?;$?I7A5Y\UT_UKT\)L>;BMR!.#FG?Q9I,<4X?=
MKUEHCSNI+IZ[M5B/O7T5X-(^QIC^[7SUI*;M0C^M?0W@^)H[1,_W:\G&GJ81
M'64445YAWA1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !7A_P 5?^/_ /&O<*\.^*W_ "$/QKHP
MO\0PQ'P'F*G!-+T-,'+4]AQ7T$-CQ)[C6]:W/!'/B2'ZBL1_]76YX&_Y&*'Z
MBN3$OW6=&'^)'T];?\>T?^Z*EJ*W_P"/>/\ W14M>$>T%%%% !1110 4444
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
MQSU1Z^$6A:HHHK@.P**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
MHHHH **** "BBB@ HHHH **** "BBB@ HHHH *\/^*W_ !__ (U[A7AWQ6_X
M_P#\:Z,+_$,,1\!YA%RQJ0BHD^5C4A/%>_$\2IN,;TK<\$\>)(?J*PSTS6]X
M)'_%20_6N;$_ S?#/WCZ=MO^/:/_ '14M16W_'M'_NBI:\$]L**** "BBB@
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
MU.;I7OQV/$GN(?6M_P $_P#(QP_45@_PUO>"3_Q4</U%<V)^!F^&^(^G+?\
MX]X_]T5+45O_ ,>T?^Z*EKP3VPHHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH Y+QG_ ,>C?2OGK5_^0A)]:^A?&?\ QZ-]*^>-6/\
MQ,9/K7J8+8\_%;D"_=H/2F*>U*QYQ7L1/*EN"]#3>]+TI#Q5DW!1EJEAXF%,
MZ#-+"?WHKFK[&]'<^@OAM_R"1]*[JN#^&G_()'TKO*^<J?$SW:?PH****@L*
M*** "BBB@ HHHH **** "L3Q'_QY-]*VZQ?$7_'DWTJZ?Q(B?PL^</% _P")
MNWUK*'2M7Q1_R%W^M9(-?047[IXM;<>G2DSS2]*:W KK6QSRV$!YIW6F@4IZ
M5+(ZAYA0\4QY22*1N>::!D5FX'1!V)O..*/..*A49-. YK"4-2W.P_SCBD\P
MFFD<T <TX1U$YDBL<4@&3S0>*#Q5\I',"CYJ7'S4=!FE[9K2*)<AP44D@]*5
M3Q3B,BM24,BZT2T+P34>[<^*!LL*H\G-5V/:K*GY<52?/VD*.]<E:>AO2C<Z
MWPCIYN;J,XSS7T)H]J(+*/ [5Y9\.-+\Q5<K7L4*;(E7T%>+B)W=CU:,+*Y)
M1117,= 4444 %%%% !1110 5YI\4Y?+LQ]*]+KRKXM2#[(,&MJ'QHSJ_"SQ6
M;YY":>GW:C/(IXX6OH:1X57<&'S4C<4HY&:8QK:6QFA^,LOUKU+X?VX\Y&Q7
MEL/S2J/>O8O ,6"AQ7DXF1UT%J>JP#$8J0GFF)PHH)^:O*>K/6B]"2DI>U-I
M%,6L#Q1$)-,<>U;QK)U]=VGL/:KAN93V/FGQ%'Y6HD#UJF,!*V?%T6W42<=Z
MP0W%>[AGH>166HAY-2IQ3%&32@_-BNR1SBR=*ZCP7/MU.%<]ZY=_NUL>$IMN
MMP#_ &JXL2KQ.G#/WCZ>LS_HD7^Z*GJI8,&LH?\ =%6Z\!GN(****0PHHHH
M**** .7\=?\ (!E^E?-EU_KW^M?2GCG_ ) ,GTKYIO3BY8>]>A@=S@Q8B\BA
M1S3%.*>>*]R.QY+W'CK4<WW:=GC-))S'FE(JF;G@[_D,0_6OIJQ_X\HO]T5\
MT>#1_P 3:'ZU]+V/_'E%_NBO"QOQGLX7X2Q5>[@$\14^E6*1ONFN$ZCYW^(%
MEY.HR,!7$6YW UZU\1[')DDQZUY);_*6!]:]K!O0\?$1]YE@@8J(=:65L$4$
M?*#7HK<Y1C=:E/RPYI-N122G]R165570)ZG;^ ]2:*XC3/!->^V4HDMD(/:O
MF/PK<>5>1\]Z^A_#EUY]JG.>*\7$PUN>KA9:6-ZD/W32TA^Z:XSM/&_B,O\
MK#]:\CAZ-]:]?^(HXDKR&,8W?6O=P[]Q'CXGXAR]Z5>M,!P:>>!FN^&QQ/<!
M]ZG1?ZX5'GO3HC^\!K'$+0VI;GO_ ,,O^05^%=]7G_PP.=*_"O0*^=J_&SW*
M?PH****S+"BBB@ HHHH K7EL+B(J:\I\7:'AW*+7K]8.JZ4+O=E<YK2G+E9G
M4AS(^8M4M)()SE>]0VS=C7HGC30?L\C%4KSC8T4C#'>O8HU=+GE5:=G8MR@;
M>*@ZTP2EN#4L0R:Z5.[,+60[&$I$Z4Z3CBFK]VMD9RV'9S1Q46[FAF(JD2D3
M#%+WJ$-Q4J\KF@=M!C'YJ=VIK#O0#0(7 I'Z4@/- Y:DE<!<?)3D'R&F^U&<
M<4FBTR,]:DM9/*?(ICC%(M<\X7-(3U.OT'7)$N%0L<9KW'PUJ"SV2Y;)KYKM
M9?(</7K7@C6=YCC+5YV)IZ'HX>>IZW13(V#("/2GUYIW!1110 4444 %%%%
M!1110!6OGV6KMZ"O!OB'=^;.1GO7N>L-LTZ4^U?.?C&X\V[<9Z-7=@XW9QXJ
M5D<Y'UI6Y.*9%4B<O7LP5D>5>[$B&7VUZ]\/K,&%6(KR*WYOU3WKW7P%;[;-
M3CM7'BI:'91CJ>A0C$:CVJ6HT^Z*DKQ7N>G'8****104AI:;WIB8H%(PXIU(
M:0/8X7Q[:AM)E?'.*^>V!2=@?6OI7QE%YFD2#':OG'4H_)O6'^U7JX-Z'F8E
M:C<?+4:]:<3P*,8&:]*7PG%'<TM(E\NZ'UKZ&\&OOTE3[5\U64VRY'UKZ+\!
M2A]%7GM7D8M:'JX9G74445YYV!1110 4444 >,_&#[ZUY-'TKUCXP_?6O)5/
M%>U@O@/)QGQ$C],TA_U5*WW*:W^IKMJ'' ZWP/\ \?L7UKZ*LO\ CSC_ -VO
MG;P(,WD9]Z^BK/\ X](_]VO$QGQ'KX3X2>BBBN,ZPHHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M KP_XJ_\?_XU[A7A_P 5?^0A^-=&%_B&&(^ \Q3J:!UIH.#2GCFO?CL>)+<1
MNM;G@D_\5)#]:Q''R9K:\$<^)(?K7/B%[C.C#+WCZ@MO^/:/_=%2U%;?\>T?
M^Z*EKP#V@HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH Y+QG_QZ-]*^>=7'_$PD/O7T+XT_P"/1OI7SYJY_P!/D^M>I@=C@Q134=Z"
M.<TY3Q1FO8B>3(:1FF]:?GBF#K5HCH.Z\4Z$?O@*8O!S4D',XKFK['30W/?_
M (:C&DCZ5W=<-\-_^02/I7<U\Y4^)GNP^$****@H**** "BBB@ HHHH ****
M "L3Q%_QY-]*VZQ/$?\ QY-]*N'Q(B?PL^<?%'_(7?ZUD@=ZUO%'_(7;ZUE#
M[M>_0^$\6MN*.:#\W%(O H4\UV+8YA<=J,=J#2CK18CJ1D8XH44]AS3:=KHU
M3$VX-+C'-./(I#TQ6,D%[C2.]*HXS2]L4O08HB@N)UH(S0O%+3DK$W$ZC%+V
MQ2#K2]\U41@..*5GQ2'K4<O)I@D/4TFW#9H6G/\ =K.4K%V&^9AJN:99F\U&
M,8SDUFJ"TF*]!\%:,9KN*4KD UY]>>AV8>!ZGX,TO[#:KE<9%=C56S@6&WC
M&,"K5>1)W=SU(JR"BD- J2A:*** "BBB@ HHHH CG?9"S>@KQ/XD7_VH,F>E
M>S:B=MA*?]FOG?Q=<F2\E4GO75A8WE<PKNT3CP<MBI2/EJ%?];4[?=KW:>QX
ME1WD"?=IA6GH?EI,YK6;T(ZCK5/WZ?6O=/ ]KMMXWQ7B5@N^Y0?[0KZ#\'0A
M=.B..U>/BCNPZU.M XI-N6IU**\VYZB0M%!HI%#:HZG'YEJRU?J"Y&8S51W,
MY;'SSXZMO+U \=ZX\+7HOQ#AQ?$X[UYZO)->[A=CQZ^XBC%(1@YI],D/%=;.
M84\K5G0I?)UF%O1JJJ>,4MIE-0C;T-<U=7B=%#25SZ>\-WGVFSCYSA:WZX3X
M?W!FM5R<X%=W7@5%:5CVX.ZN%%%%06%%%% !1110!R_CHXT&3Z&OFJ[^:X8^
M]?2GCO\ Y $OT-?-EP/W[_6O1P)PXLC44_KQ31P*<O!KVH'D,,<8I&^[BG=Z
M3OFE,=,Z'P>-NK0_6OI2Q_X\HO\ =%?-GA/_ )"\'UKZ3L?^/*+_ '17AXWX
MCV<)\)8H/2BBN$ZS@O'&G>=8R-BO KV+[+<E>G-?4>O6HN+!UQGBOG+QC9FU
MU,C&.:]+!SZ'!B86U,4C?@T]^% I(ONTDC5[">ESS&.!^6DD7,= /RT\G,53
M/4A;AI<_D72\]Z]^\ 7GVBW'/05\[KE90PKV3X8ZAM3:37F8J'NGI866IZ_2
M'H:2-MZ ^M*>AKRCTSR/XB)\DAKQY.K?6O8_B(X\N05XY'U;ZU[>&?NH\?$K
MWF)MYI>O%+FD7@UZ$#B$QS3HO]:!0.N:(_\ 7BLJ[T-:6Y[[\,1C2OPKT"N
M^&1SI7X5W]?.U?C9[M/X4%%%%9EA1110 4444 %(0#2T4 <;XHT87Q;"YS7E
M&N>&3:LQV8_"OH62%9/O#-<CXGTA)T.U*Z*=5K0PJ4DU<^=9[4PR$8IH/EC-
M=YJ7AAR[$(:Y>_TMH@5P>*]"E5N<%2E8QWDW<T^,Y2F20&,8-$9PF*[HST.6
M4;CT7)IWE[J;&X%3QN,U?.+EL1;,<4H..*E8C-5R?WE5<EDG:FA:=VI W-">
MA NS'-(5VC-/9QMI&.Y,"ANP)#!R<T$<TJC Q0>#2;&(RY%-4<U*.E,'!-*V
MA2&N^!BNI\):F;>\3YN]<DXRU6-/G:"Y4YQ7+6A='72E9GU'H-Z+NU5LYXK8
MKS?P+K0>V5"W)%>C(VY ?6O$J1Y9'JP=T.HHHK,L**** "BBB@ HHHH RO$+
M;='F/^S7S+XAG\R_D&?XJ^AO%]^(=+F3/45\V7[&:_E/^T:]'!(X,9J-0?+3
MDX;-"_=Q3"W->M'8\V*]XM:5%YNKI]:^A?"%MY5FO':O"/"\/FZS'QWKZ-T.
M$16J#':O,Q<CT*)KJ.*?2"EKS&>@@HHHI#"FTZFFF)BT=J0TO:EU%<P_$D7F
M::X]J^=_$EMY=^>/XJ^E-63S+)E]J\#\9VWEWIX[UZ.#D<6)1QS]J?&-XQ4<
MIP:DMVP:]6]T>:MR+_52Y]Z]L^'FK?Z)'%NKQ.YY.17=_#Z\*W\4>[N*X,3"
M\3NH3LSZ$4Y4'VI:9%S$OTI]>0>F%%%% !1110!XU\7URRUY#'R<5[#\7CRM
M>/0\.:]G!? CRL7\1.1QBDD'[K%.[TDGW*[9'%%G6>!3B\C^M?1-E_QZ1_[M
M?.O@C_C^B^M?1-E_QYQ?[HKQ\;\1ZV$^$L4445PG8%%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %>'?%;_ (__ ,:]QKP_XK?\?_XUT87^(88CX#RY!N8U(PXID7#&I":]];'B
M3W&,?EQ6UX(X\20_6L0BMWP2/^*DA^M88CX&=&&^)'T];?\ 'M'_ +HJ6HK;
M_CVC_P!T5+7SY[04444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 <EXS_P"/1OI7SQJW_(1D^M?0_C/_ (]&^E?/.KC_ (F$GUKU,%L>
M?BBHN<T,?FIRCC-(U>O!GE3$:D-*O-+BM.I&PA^[3[;_ %PI@Y.*EMA_I ^M
M<U?1'11W/?\ X;_\@D?2NZKA_AR/^)2/I7<5\Y4^)GNT_A04445!84444 %%
M%% !1110 4444 %8OB+_ (\F^E;58GB/_CR;Z5</B1,_A9\X>*/^0P_UK*'6
MM;Q1_P A=OK64!QFO?HKW3Q*VX-24J_,* ,FNQ;'.!^[0O2@<MBGXH9%@[4P
MTXGG%(U4G8M"+2#[U/Q@48YK.0KC?XJ&ZTX^M(.1FB(WL-/6E;H*7&:7&:IZ
MD)C?X:7^&G8XIO?%1L6 Z4PCFG_Q8H?@BB]D-#>@H)R*)N%%-B1G(P*YJDSH
MA&Y:T^S:>Y4 5[OX$TA8[-69>0*\Z\(:.9[E"R?I7N>D60L[95 QQ7E8BI?0
M]'#PMJ:*C"@>E+117$=8UNE*O2@C- H'T%HHHH$%%%% !1110!2U4XTV;_=K
MYI\3R[M2F'^U7TGK+A=,GR?X37S%X@?=JL_^]7=@U=LY,4[1,H#O4O\ !2Q+
MFG,.<5[4#QI,C!PAI(SP:5N.*:.%-:26@XFEH<9EO5_WJ^B?"T6S38OI7@W@
MZ#SKX<?Q5]#Z'%Y=C&/:O&QFAWX9:FH>M+1WI:\T]%(:>M+VH-+0'42H9^8S
M4U-D&5IIZBDM#QCXA0YE=J\KB/[QL^M>T>/[?*R'%>*GY)G'O7N85^Z>361-
M41Y:GH<T8YKNZ''LQB_>IZ<3JU*5P,U%NP<UA5C=&U-V9[K\+Y?,M_PKTRO)
M/A).#"037K?6O KJTV>W1^!!1116)J%%%% !1110!S'CG_D R?0U\UW?%RWU
MKZ3\=?\ (!E^E?-EU_KV^M>A@MS@QA&>U*W2A>11UKW((\AZ!GBE/W*:/O8H
M<]J4RH'1>$#_ ,3>'ZU]*V/_ !Y1?[HKYF\(G_B<P?6OIBP_X\8?]T5X&,^,
M]C"?"6:***XSL(YHQ+&5->!_$VPV:IN4<9KZ KRGXC:?YN^7;TKIPSM,PQ"O
M \64XXIK'-!^69U/8TH&:]V$KQ/&J#OX:=G]W35Y;%.;@51"T&!?D)KMO -\
M8;A5SU-<6O\ JR*U_#=S]GU"(9QEJYJ\=#IHRU/IVP??9QMZBK!^Z:SM$F$F
MF0D'^&M$]#7@O<]E;'COQ%8YD_&O(XOXOK7KOQ'7Y9#]:\A@^ZWUKV,-\*/)
MQ*]Y@QYIYZ"HOXJG RM>E!' -/W:;%_K!3AUQ1$/WX%8XC8VI:,]\^%__(*_
M"O0:X#X9#&E?A7?U\]5^-GNT_A04445F6%%%% !1110 4444 %5[BV6<<BK%
M% &)<:)"\;':.GI7F>N:'_ICA5X^E>S,,J16#=Z.LTI;;UK:E4Y695*?,CP3
M4-#E$APM84^G2PM@K7T'/X721L[!7%^(?#@AFP$_2NV&)OH<4J'+J>2R1.G:
MFHY!KI]2TED!POZ5S4MM(CGY3^5=$*US)TR7?\M1@Y>HV#*,$&E3/6NF$[G/
M*&A8)XJ+G-+G)J3;Q6J9E8BW&I(CEN::RT[[JYHZ B4CYJBE^]4BG*YJ(\FF
MD0WJ.6D;I2K2XS0AQ(U&34<AV-D5,OWZAEYDQ6=2-T=%.5CN/ ^J-'<QH3WK
MZ L)Q+:QD'M7S!H$_P!GO8^<<U]">%+S[3:ISG KQL53MJ>K0E='34445Q'2
M%%%% !1110 444A( R: /+?B-?&+?&#UKQ,?--(3W->H_$VY']H[ >IKS*5=
MC9]:]?"1T1Y>)EJQJ]341SYE2G@9I&7@&O1>B..&YU/@FW+ZQ$<<9KZ(LX]D
M* >E>(^ ;3-U')CO7ND0Q&OTKQ,4_>/2HQT):=2"EKB.U!1110,*;3J2@30V
MG=J,4'I1U%8KW2[XB*\4^(%KMNR0.]>WR#*&O*O']KDNV*ZL/*S./$K0\8N/
MOX]Z6,D"EG'[YA[T1BO;AK$\UZ,1OFKH_!$_EZ_$N>,USB<RD5J>')/)UZ,^
M]85XW1T479W/J6TD$ENA']T5/6-X?N//LU.<_**V:\.2L['KQ=U<****D844
M44 >-?&#[RUY$M>O_%Y<LM>1H.:]G!? >5C/B'CI2/\ <IU1DY.*[GL<$=SK
M?!1Q?1#WKZ*LO^/.+_=KYQ\(-MU*$>]?1MA_QY1?[HKQ<;\1[&#^$LT445Q'
M8%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %>'?%;_ )"'XU[C7A_Q5_X__P :Z,+_ !##$? >
M7#AJ>W2D498TXBO>BSQ)[@?N5N>"/^1CA^M8)/:MSP2?^*DA^M88GX&;X?XD
M?3UO_P >T?\ NBI:BMO^/:/_ '14M> >V%%%% !1110 4444 %%%% !1110
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
M_P!T5\Q^%VVZS /]JOIO3O\ D'P_[HKQ<;\1[.$^$M4445PG6%%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %>'_%7_ )"'XU[A7AWQ6_Y"'XUT87^(88CX#S!3AC3R<5&O+4]A
MQ7O11XD]Q&'RYK:\$<^)(?K6*Q^3%;7@?_D9(?K6.(^!G1AOB/J"V_X]H_\
M=%2U%;?\>T?^Z*EKY\]H**** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** .1\:?\ 'HWTKY[U?_D(2?6OH3QI_P >C?2OGG5C_P 3&3ZU
MZ>!//Q1 O2CM3%/-*QYKV8'E2%[4P=:4FD/%7L1T'BGVW_'P/K49/RTZV/[X
M5RUMF=%#<^A/AS_R"A]*[>N&^&YSI(^E=S7SM3XF>[3^%!1114%A1110 444
M4 %%%% !1110 5B^(O\ CR;Z5M5B^(O^/)OI5P^)$S^$^<?%/_(7;ZUD_P -
M:OBG_D,-]:R1UKZ"C\*/$KZL5!@&A.IH;BD3K78MCF9)WHIK&C/RU+T0D-8\
MTUFYI&R1FH@236$I:FO+H6@>*:QIJ9I#DFI<P4;LDS\E(/NTSGI2\YIQD.4=
M!Z4\5'T-.8X%;Q=S)H4T4G:D)XJY$=1?XJ<H'F+]:8.F:1&_>K]:QJ:(VCJ>
MM_#NQCG<;A7J]M81P'*BO,?AFXWCFO6@<BO Q3?M#V\,ER"T445RG0%%%% !
M1110 4444 %%%% !112$X&30!Y%\5)=D@%>1L<MFO2_BY<#[2H![UY>3\H->
MU@U[AY.+?O$F,U'_ !XJ1>E1G[]>C%:GGL7'S"E?G%*P^7-1*<M6KV")UWA&
MY%M-G..:] _MM1&/F_6O(K2[-MR#5TZV^,;C7!6A<Z82LCU1-=7;][]:/[=7
M^]^M>4?VZX.-QIXUU\_>-<SI6-G4/5/[<4#[WZTU==7/WOUKR]]<?'WC3%UQ
M\_>-2Z>@*H>IOKB@?>_6FIKRY^]^M>8RZV_E_>-5TUU\_>-$:>I7M-#TG6=4
M6:S<;NU>5WK!KAC[UJ2:NTMJP+&N>:0O(3[UW48V1R5'<D8XQ4O'EU6)S3MY
MQBNI[&(\GBH6IRG)H8?-4,:-OPU+Y>H0C_:KZ6T<YTN$_P"S7R[I,GE:G!_O
M5].>'Y5?2(,'^&O#QRU/8P;]TU:***X#M"BBB@ HHHH Y;QY_P @"3Z&OF^;
M_6O]:^D?'(SH,GT-?-MSQ<,/>O1P.YP8S8C7H:5>O--/%*>!7MQ9Y+'=Z8QY
MI2>*B<\9J9[! Z+PH?\ B=0?6OIBP_X\8?\ =%?,?A!LZU!_O5].6'_'C#_N
MBO!QGQ'LX/X2S1117&=@4R1!(A4]Z?10!XE\4[%8Y@RBO,XR.E>T?$VU,RE@
M,X%>(L6CN'4]C7KX27NH\O%1]X=G]Z:0_?IN?FS3STS7IQV//8C??!ID_(XI
M_P##FD0;P:51:%4]SI/!%X;>]'/\5?1.D2>;IR-ZBOF'1IOLUZAZ?,*^D?"\
MXET6(YYQ7C8R-CUL.[G(>/\ 'V62O#G'[QOK7MOQ ;_1Y/QKQ-N9&^M=N%C[
MJ./$/WK$D1^4U&OWS2@X%-[UZ"1QM#A]ZB/_ %XH/ S21?ZT&N>N]#2EJSZ
M^&7_ ""OPKOJ\_\ A@<Z5^%>@5\]5^-GNT_A04445F6%%%% !1110 4444 %
M%%% !1110 4444 %!Y%%% %.6QCD;)%5GT>%NJBM6BG=BLCS3Q-H:^>=B_I7
M!ZGH3YX7]*]UOM/6Y;)%9,_AU)/X!733K\J,)4KG@%WI$L()*_I6+/&T;<U[
MGXB\-K% 2J=J\HU;3'25@$/Y5Z-&MS(X*M+E=C%C;]WBG+TJ$HT<FT@U)G!K
MNC+0Y90T) *#1VICFM#$6/F2AQ^\IB'#9J7J<U#5V5<CDXKJO!UTT-W& >IK
ME9.M;?AJ39?19_O5QXB.AV8>1]+Z4V_3XF/<5=K.T1PVF0X/\-:->$]SV%L%
M%%%(84444 %<OXRN532)!GM73GI7F?Q!O_+M)$SZUK2C>1G5=HGBFJR^9>,1
M_>JOU%,=S+*Q]ZD4<5[])61XM26HY#6KH<?FWH'O6,&^:NB\)1&74AQWHK;#
MI[GO/A6$1Z:H]JZ)>E9.AQ^79**UJ\"I\3/4I[#Z2BD-9FPM.IHHH&F.HI!2
MTB@I#124Q7$/2LG6XA)I\H]JU35*_7?:NOJ*N&YSU=CYQ\40^1>/QU:L1""*
MZ_XA6Y@N<@=37$QMQ7NT=D>3+<E)PU56<B?-2N:@<'K6T]BH,];^'EX0J+FO
M:8#F%3[5\^> +G;/&I/>OH&T.;6,^U>'BE[QZN'=T34445R'0%%%% 'E?Q27
M*UXLV/.:O;/B>I*5X?(<3M]:];"?">9BMV/_ (J,?-3<TX=,UZ;^$\_J:?A]
ML:];C_:KZ@TS_D'0_P"Z*^6= ;&OV^?[U?4FE.&TZ#!_A%>)C?B/7P?PEVBB
MBN$[ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ KP_XK?\?WXU[A7AWQ6_Y"'XUT87^(88CX#S
M"'J:D-1+PU/8\5[R/$GN-:MWP2/^*DA^M8A'R9K=\$#_ (J.'ZUAB/A9OA_B
M1].6W_'M'_NBI:BM_P#CVC_W14M> >V%%%% !1110 4444 %%%% !1110 44
M44 %%%% !1110 4444 %%%% '(^-/^/1OI7SUJP_XF$GUKZ&\9C-HWTKYYU<
M_P#$QD'O7IX(\_%%51WH(YH4\8I2:]>)Y<A,9I"*=G%(36AF(.>*? ,3"HUX
M.:E@YF%<U;8Z*.Y] ?#;_D$CZ5W5<+\-O^02/I7=5\[4^)GNT_A04445!844
M44 %%%% !1110 4444 %8GB/_CR;Z5MUB>)/^/)OI50^(B?PL^<_% _XFS'W
MK' XS6QXG/\ Q-6'O6/GC%?04/A1XE;<7[PIT:Y--7@4Y6VFNZ.QS,5ASBF-
MPM/W<YIA^8XJ*CT*IHF@@,B=*&M"IZ5TF@:4;F,?+G-= WA1FP?+_2O,K5>5
MG9&FY(\]^S%1TI4MB3TKT%_"C8_U?Z4L?A1A_P L_P!*Q5=&BHL\]>U([4PP
M';NQ7HLOA1B/]7^E4=0\--;:?)(4Q@>E7&LARHNQP:C.?:CJ::K8E=?0TJGY
MJ]&B[HX9JP[%(1Q2TAZ5T,Y^H=%IB?>S4@Y&*3;M!KGJ;&T#TGX<WVRYVY[U
M[=;/OA5O6OF_P7=_9[T<XRU?0^CR>;I\;>HKQ,6M;GLX5Z6+]%%%<1UA1110
M 4444 %%%% !1110 54U"7R;1W]!5NLO7SMTJ4^U-;B>QX3\0;S[;=GG.#7%
M*,C%;?B6?-Y("?XJQH>>:]_"Q]P\7$N\@SCBFCEZ1SAJ%/.:[8G,T2GIBHL;
M34N:8W)JWL0G85S\M1G.*<>11VQ7/:[+YAFTXS2J#C-/[8I.@Q4R@7S!RPI
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
MKQ+XB6)7<P%>XL,J17F_Q$T[S+8E5SQ71AY6F8UXWB>$8(.*0U:GB,=RRD5
M<>9BO?HO0\2HA4; Q2/Q36X<4K]!6LD9[$:C+5U7A.[,%Z.>]<P@K1TZ?R)P
M1ZUA4C<VA+4].U^3S])9_:O';O/VDX]:]4GN!-X;9B><5YA.NZ=C[T4QRD+'
MP*5Z:>,4_&174MCG>XT_=ID7^M%/[TD0_?BN6OL:TOB/??AA_P @K\*]!K@/
MAD/^)5^%=_7SU7XV>]3^%!1116984444 %%%% !1110 4444 %%%% !1110
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
M@HHHK,L**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"N5\760FTZ5L=JZJLS7D#Z7*/:J@[,F:NCY>U*'RKV0?[1JLW05L>)H?*O9/
M]ZL4G*BO>PTKH\2LM23.$J/=S2YRN*;MYKO.8?UYI4/[Q?K0!A::O#BN>ML;
M4=SV+X9R;I@*]<KQOX7'-S7LE?/5_C/;H_ %%%%8FH4AI::YPA/H*!,XSXAS
M"/1F.>U?.URV^Y+^]>T_$/41)9O"#TKQ9TY)KU<%'0\W%RU$!^<&I9GW 5$@
MS3GKUHGGO<:.: <'%*E(1@YJ9+00UOO4$\8I<=Z7;FH42T]"+.#2].:".:4C
M(H<"HR$]Z#R,T['RTN/EIJ"*YB,"E-/ XII%)PU)DQG4T['% 7!I^*.05]1G
M;%-/'%2[>]1L,M4J.H^85>*D#<TFWB@+S6BT,GN2$\5&7P*<QXQ41&:L21*J
M>8FZO1?AO>?9Y=N>IKS^'Y82*Z/PA<^5>H,]6KS\5&YVX>5F?2%J^^W5O45-
M5+2FW:?$?45=KQ7N>NM@HHHI#*FI#.GS#_9-?-GBB/R]4F/JU?2M_P V4O\
MNU\Z>-(]M]*?>NS".TCEQ/PG*;>=U2ALKBF?\LJ1#SBO;6QX\MQK?(VZO8_A
M)<^8C GI7CEQ]TUZ-\*KW[/(5)ZFN'&1O$[,*[2/>12U%;OYD2MZU+7C,]5!
M1110,**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ KP[XK?\ '_\ C7N->'_%7_D(?C71A?XAAB/@/+DX
M8U(QXI@&6IS#(KWEL>)/<"/ES6[X)'_%1P_6L(GY<5N>"3_Q4</UK#$? S?#
M_$CZ=MO^/:/_ '14M16W_'M'_NBI:\ ]L**** "BBB@ HHHH **** "BBB@
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
M71V4*EF>QT5#:R"2W5L]14U>4>B%%%% !1110 4444 %%%% !1110 5D^(9
MNDS<]JUJXCQIJ@M[:2/=U%73C>1$Y61X/XEEW:@_^]5 _P"K%3ZH?/NW;_:J
M''R 5]!0C9'BUY)L7/R48XS2#TH)P,5V'.AV?D-+81^;<K]:CS\I%6]('^FQ
MKZM7+7>AO36I[7X B*!>*](KD/"%EY-K&^.HKKZ^>JN\CVJ2M$****R9H5=0
M8+92G_9KYT\:W.Z]D&>]>]Z_<^392#/\-?.7B:7SK^7G^*N["1UN<>*EI8S%
M&8!3.@I4;]V%I&^[7LQT1Y$M6,!W-BO6?AC8>9\Q%>46R[IU'O7N?PR@\N'.
M.U<.,EIH=V$5Y'I$2;(POI3Z**\<]4**** "BBB@ HHHH **** "BBB@ HHH
MH *:XRI'M3J0T SRWXCZ8%L'FV]:\7484BOH;XBQ;]%;CM7SS,?+F*^]>Q@9
M>Z>7BX^\!'RU$HSFI"W%)&.#7H2V.'J7]%G\J\3G^(5](^%9 ^C1'/:OF&W?
MRKE#_M"OH/P/?>9IL29[5Y6.6AZ6$9W%%%%>8>@%1W S;R#_ &34E-D&8V'J
M* /G+QS:E=6E?'>N35?W>:]6^(NE^7%)/MZUY*DF1MKV<*[Q/*Q4=1R\FFS#
M(J0#:<4DWW:[+71QK1E[P]=_9[Q><?-7TEX8N!-I,9SU%?+-K)Y5RI]Z]]\"
M:MYMI%%N["O+Q<-#T\++4]%HI!TI:\X[@HHHH **** "BBB@ HHHH **** "
MD-+2&@&9.O7'V>R9\XXKYZ\57YN-3;G/->X^-YO)TECGM7SKJ<OG7I;/>N_"
MPNKG%B96T*[G%(#N%(W)IP&!7I6LCS7J5F8B0#WKU7X;VA%Y'+BO+_*W3)[F
MO>/A_IOEV44N.U<.)EH=V'CJ>D#[HI:!THKS#T0HHHH **** "BBB@ HHHH
M*\0^*I_T_P#&O;Z\0^*H_P!/_&NG"_Q##$_ >79^:G]!3 ,L:=UXKWXNYXDM
MQCGO6]X'&?$<)]Q6"PK?\$<>(X?K6&*^!F^'?O(^G;;_ (]H_P#=%2U%;_\
M'M'_ +HJ6OGCVPHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH Y'QI_QZ-]*^>M7YU"3ZU]#>-/^/1OI7SSJG_(2D^M>G@]CS\65EX&
M*7M3?XJ4U[$$>5(3/%(O%#=:0U=K,E,4]:2V'^D@^]':GVP_?"L<0M#HI/4^
M@_AO_P @D?2NYKA?AM_R"1]*[JOFJGQ,]RG\*"BBBH+"BBB@ HHHH **** "
MBBB@ K%\1?\ 'FWTK:K%\0_\>3?2KI_$B9_"?.7BH_\ $V<>]8R\"M?Q3_R&
M7^M9.*^DHOW3QJ[U'+TI%ZTE%=!S6!J(?]8*1^E.@^^*PK?";4UJ?0'PR_Y!
M/X5WU<#\,O\ D$_A7?5\W5^-GMT_A04445F6%%%% !3).8V'M3Z1N10#/(?'
M]AB-Y,5Y$YVOMKZ"\?V0?36('.*^?+M3'>E3ZUZF$J'F8J&HIH!H;I35Z5ZJ
MU/-M87-#<C%-'6E'6M$3U(Y5Q'74^![@KJ<*Y[US<JYCK1\*S^3K4.>FZN#%
M1NCNPSU/J6T.;2(_[(J>LW2;M;BRBVG/RBM*O":LSV$[A1112&%%%% !5:\F
M$,+$^E6:Q/$<QALF(]*J*N[";LCPGQ[=^;J[@'O7'1\&M;Q1.9=8;)[UE@<B
MOH,-&T4>+B'J2$\5%GFGOTI@'-=B.0FBZTV?KFG+P*;)TK.H[(J.K-WPA%NU
MB$^]?2]@H6RB_P!T5\\^"(-VH1-CO7T1:<6D?^[7@8M^\>SA%9,FS2TT=:=7
M(=2"BBB@84444 %%%% !1UHHH \S^*%N&L\@=J\-/RSE:^@?B)'OLC]*\ N%
M*W[CWKU<$]#S<7'6Y(S#;BH<8I-W[W%/<<U["V/.V!1\IIBCYC4O\-,C^]3D
MM">HZ ^7,#[U]!> +T-I*)GL*^?)>,$5Z[\/+P^5'&37CXR!Z6%=F>OCI12+
M]P?2EKR3TPHHHH Y?QU_R 9?I7S9=<3N/>OI3QQ_R 9/I7S5>_\ 'TWUKT\
M<.+&J<"ES3*4]*]E*YX\MP!^:E/K3!UJ7^"G):#CN:GAC_D/0?[U?3^G_P#'
MA#_NBOE_PQ_R'X/]ZOJ#3_\ CPA_W17@X[XD>UA/A+-%%%<!UA1110 4444
M%%%%+J!Y?\0]-,RR2XZ5X?(FV:0>AKZ=\662S:1,V.<5\WZA;F&\F!'\1KTL
M)/H>?BH6U*$6=]2MS21K\QH_CKV(,\R0?PXI5.!33]Z@\&M3.X[-%--#=*>Z
M)L./W:;!_KP:<?NTD(_>"N6M\)U4'J?0'PS.=+_"N^KS_P"&/_(*_"O0*^=J
M?$SW(?"%%%%065;^Y%M;F0G&*\1\<Z[Y]RRJ_>O5O&,Q@T61QUQ7S1K%_)/?
M-D_Q5U8:-W<YZ\K*Q%(Q>0D^M$G"T@Z TY^0*]>$3R9R(0ASFIE8=*D* 155
MR=]=*CH97N.?_6 BNF\.Z@;>=/FQ@US)J:WG:)@0>E85HW1M3EJ?2WAK5EO+
M=$#9(%=+7BWP]UO;/B1N/K7JT6K0R' 85X56FXRL>Q3FG$TZ*CCD$@R*DK$T
M3"BBB@84444 %%%% !1124"([B7RHBU>,?$#4]UPRAJ].U_44@M6&[G%>">+
M+\W%VW/>NS"PO*YRXF6ECG&DS(2?6G#I54D[JLJ?EKW::LCQYN[&]&I&YYIS
M"C'R5H]42B//%:>AIOU&'_>K+/2N@\+0&2^C..C5P8B6AUT5=GT9H$8728./
MX:U:H:.-NF0C_9J_7A2W/96P4444AG%^-KKR+=AGJ*^?]4D\R\D/O7LOQ,N?
M)7&>M>(3OOG8^]>MA(^[<\S%.S8U1S3W^[0J\9HD/RXKO:LCSMV3:4GFW\:^
MIKZ$\$V1MK53C&17@_AB R:Q#QQNKZ:T>V6&QBP/X17E8N?0]7!QTN:-%%%>
M>=X4444 %%%% !1110 4444 %%%% !1110 4444 <KXXC\S2F'M7SEJD1COB
M/>OIGQ1"9M/91Z5\\>([8Q7[9'>O3P4K(X,4M3$-/4X%,[TIX%>ONCS6,8_O
M5(]:]H^'=T66-,UXQCY@?>O3OAU=;;Q%)KS<9&Z.O"O4]R'2EID;AT!%/KQS
MU@HHHH X+XE6ZMHK$#G%?/80I,<^M?2OCJW-QI+*!GBOGK4K8V\Y!'.:]3!R
M]TX,3&\BJQRPI)/F%,7I4B#=7I(X)JQ5=2K ^]>D_#[4S'=(A:O/+A1MK9\*
MWAMK]23QFN7$0NCHHSLSZ?M9A-$&'I4]<[X<U%+BT7GG%=%VKQ9*SL>K%W04
M445(PHHHH **** "BBB@ HHHH *1CA2?2EJK?7"P0,6..*$!YY\1=746#Q!N
M17AKR;V+>]=IX]U1I[N6-6XS7"Q@F*O9PE.T3RL1.[+$:[AFG-3K8?NCFD]:
MZY:(YXEBP@^T7,8 _B%?1_@ZW$6B1#'.*\'\(V9N+\<=Z^B-"B\G3D3T%>1B
MF>CAE9FG1117$=@4444 %%%% !1110 4444 %>(_%0_Z=^->W5X=\5O^0A^-
M=&&_B&&(^ \Q4_,:<.#48^]3STKWX'B2W&GK6]X)_P"1DA^HKGS6_P""/^1C
MA^HK#$_ S6A\:/IZV_X]H_\ =%2U%;?\>T?^Z*EKY\]T**** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** .1\:?\ 'HWTKYZU?C4)/K7T
M/XR&;1OI7SMK!_XF4@]Z]/!;'GXL@49&:*$^[2$\U[%,\F8N.*8.33LTG2M+
MZD]!.]26W^O%1]Z?;_ZX&L*_PG11W1]!_#?_ )!(^E=S7"?#4YTD?2N[KYJI
M\;/>A\(4445!04444 %%%% !1110 4444 %8GB/_ (\F^E;=8GB/_CR;Z5=/
MXD14^%GSGXH'_$U8^]9('RUJ^*&_XFS#WK(W?+7OT7[IXM7<5>:3O2*>:<PK
MK3,$!&12PC]X*3M2Q?ZP5A6>AO3W/H#X9_\ ()_"N]K@OAE_R"?PKO:^=J_&
MSVH?"@HHHK,L**** "BBB@#G_%-M]HL&7&>*^<O$-OY&KL,8YKZAU&'SH&'M
M7SQXZM/(U21L=ZZ\-*SL<N(C='+GF@#BHXGW*33P:]ZD[H\6:LQ,<T-P,TJG
M)ICGM6SV,T38S#4=E+]GO4<<8-*C_+BH7&'S7-5C='31E9GT%\/M4^V6P!;.
M!7H':O#_ (:ZAY6%SUKVN!M\*MZBO KQY9GM497B2T445@:A1110 AKF?&,F
MS3B?:NFKC_'LFS2B?:M*?Q(B;T9\]ZV=^IL?>JX'%/OV\R^)]Z83CBOH:'PG
MB5WJ+C(IBCFGCI3>AKJ1S)CE^]BFOUQ3EZYH8<UA5>AM3W._\!VY:>-L=Z]X
MMQBW0>U>3?#>Q\RV63'2O7(QB-1Z"OG\0[R/:H1M$7%+117.;A1110 4444
M%%%% !1110!Q?CN,O9G [5X!J$>R_?ZU]+^(K/[3:/QT4U\Z:_%Y6K2IZ&O1
MP3UL<6+CH8[</FI.J9J!S\^*D#?+BO=@>2PC.0:5/O4U.*<?EYJFB'N/;FO0
M_ %QMO8TSWKS82?-7:^ I_\ B<QKGN*\S%+1G=AGJCZ)C_U:_2G4R$YA3Z4^
MO"/8"BBB@#F/''_(!D^E?-MX/](?ZU])>./^0#)]*^;+T_Z2WUKU,O.'%C%&
M:"*$Z4,:]N)XT]QJCYJ?WQ3 >:4G S1/8J)K>&^/$%O_ +U?3^G_ /'A#_NB
MOF#PO\^O0'_:%?3^G_\ 'A#_ +HKY_'?$>SA/A+-%%%<!V!1110 4444 %%%
M% %#6(_-TZ1/45\\^,++[+=L<8RU?2%RF^%E]:\3^)%CY<N['>NG#2L['+B(
MW1YJHXIK<<T*WS$4A.3BO>HNZ/'GN YYH-'0XI&-;LPZBKR*3J:%.*.AJD5;
M0<.N*=$/WPIO3FEB/[T&N6OL=%'<]]^&0_XE7X5W]>?_  Q.=*_"O0*^=J_&
MSW*?PH****S+.8\<\Z!+]*^9+U#]L8D?Q5]1>+HO-T:1?:OG#6+7R;QN.]=N
M$W.3$)LHJ/EIT8W-0OW::K;6KVX(\F>Y,_3%5MOSU+OR:"O&:V6QFW8C<4T=
M:?U%0EL&L9JY<6;.F:JVG/N5L5W&A^*&FE4%S^=>8$%@*TM)N3;S#GI7%4I)
MZG73JM*Q],:+>K-:!BPK5$BGO7D>@^)=D2IN_6NTT_6!,ZC=UKRYTFF>C"HK
M'5T4Q'!0'-.R*P-A:*3(HR* %HI,BC(H 6H7G1<Y(I\CA8V.>@KSW6/$OV>[
MDCW=/>JC%R9,I)(P_'&N^5</&'KRF]N#<2EB>]:GB?53>:@QW9S6#7L86G:Q
MY>(G=B;:E7I3!3TZUZ:6APLD09--8X?%+G::@9\R5+>@D/<5VW@6T\VX4XZ&
MN)SN85ZK\-+/S/FQ7F8N5D>CAHW/7]/799QKZ"K51PKLB4>E25X[/4"D)P,T
MM5KZ7R;5W]!0!Y)\6[D!@ :\>4[GS7??$?4/M=SMSG!K@D7'->[@XV@>1BG>
M1= _=U5<_/BK"/\ +BJ\@P^:ZZBT.2"U.N\'6A?487QWKZ+LABSB'^S7CGPX
MT[[1&LN.E>SPKLA5?05X.*E>1[.&C:))1117*=(4444 %%%% !1110 4444
M%%%% !1110 4444 5;Z 3PE2,\5X%XZM/)U)^.]?0S?=->(?$:#%U(^/6NO"
M2M.QSXB-XW/,!]ZGN.14*-DD^]2J=U>_%^Z>-):BS+A :ZWP1=>5?KSWKDW.
MX8]*U?#4_E:@O/>N2O&Z-:,K,^E]*E\VU#>U7ZP_#$OF:<I]JW*\*:M)GM0=
MXH****DHH:I:"[MBA&>*^>_&ME]EU1E P,U])-RI^E>'_$6S_P!,DEQ77A9-
M2L85XW5SS/&!4L/0U7#9W4Z.3 ->W%W1Y-7<20[FQ4L,AMB''%1+RU22)N3%
M14C=!3E9GK?@36C((T+5Z[$X>-2/2OFGPGJ7V2^C3..:^@="O!=6JG/:O%Q$
M+2N>M1E=&Q1117,;A1110 4444 %%%% !1110 =*Y#QGJ0M;-L-CBNJN)!'
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
M'>N0;[HKOOA[!_Q,HV]Q7G8MZ,[L.M4?0,"A84QZ5)3(O]4OTI]>&>L%%%%
M!1110 4444 %%%% !1110 5P?Q+B#:.>.U=Y7'>/X_,TDCVJZ?Q(B>L6?.4G
MR2$5+&WRTFH1E+HCWJ.,XKWJ+T/"JQM(28X--C.VG3#)%,8'%=B)V0\'YLT[
MHVZF*#BG-]RN:LBZ>C/:_AI?!;$)GM7J2G*@UX3\/;LQO&F>M>YVYS A]17A
MXB-I'L4)7B24445SFYS/C?\ Y 4GTKYLO3_I+?6OI+QQ_P @*3Z5\V7O-RWU
MKTL#N<>*V(P>*!Q24K5[!Y$MQ!US2/ZT[^&D/W:F6PD:/A?G7[?_ 'J^H].
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
M_$95OA/+%&XFCOBEA/+4A.&->Y3GH>3*%V2'E<5O^">/$,(]ZYY6YK>\&/\
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
MQ:[&VWO656948VD>\VW_ ![1_P"Z*EJ.#B!!["I*\\[@HHHH **** "BBB@
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
M-L.1$B#"*/:G445F6%%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 54N+-9FR15NBA.P-7,QM+C/8
M5&='B/85KT57,Q<J,C^QHL?=%']C1>@K7HHYF+E1EKI4:]A4J:>BD'%7Z*.9
MCY4(J[5 I:**D84444 %%%% !1110 4444 %%%% !1110 4444 %%%% !111
M0 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M!1110 4444 %%%% !1110 4444 %%%% !1VHHH IS62RG)%5SI49[5J457,Q
M61D_V1%Z"E&D1#L*U:*.9ARHS4TR-3G%7XT")@4^BE<$D@HHHI#"BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **
M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH ***1CM4F@!:*I&_C#$9Z4?VA'_ 'J +M%4Q?QD_>I?ML?K0!;HJF;^,=Z3
M^T(_[U %VBJ\5TDIP#5B@ HHHH **** "BBB@ HHHH **** "BBB@ HHJ*:9
M85RQH EHJC%J,4DFT-S5X=* "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHI"<#- "T51;48EEV;N:MQR"1<B@!]%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 444=J "BJKWB(V":GBD$BY% #Z***
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***9(XC7)H ?1444
MHE&0:EH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HIDCA%R:I#4XC/Y>X9H T**0'(S2T
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110
M4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !5:^E$5K(Q/059KEO%>H?9;9USU% '*7/B$K>2+OZ'UI$\0$G[_P"M><7^
MJL+V0YZFEM]49CUH ])3Q!^]P7_6IWU\;AA_UKRJYUIH&SNJ.#Q&99!\WZT
M>ISZ_M_C_6H?^$A/]_\ 6O/9]68XY-,_M)L=: /9/#FK?:KH+NS7<=J\6^']
M\9M4"D]Z]H'04 +1110 4444 %%%% !1110 4444 %%%% !7/>*KPV=B7!Q7
M0UQ7Q#?9I)/M0!S6@:^UQK"Q[LY->L1G,:GVKP3P8"^MHWO7O47^J7Z4 /HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *CG.V!SZ
MU)4-U_QZR_[IH \IO/$+)KLD._H:]'T*?[18J^:\*U&4_P#"6S#/\5>U^%#G
M2U^E &_1110 4444 %%%% !1110 4444 %%%% !1110 4444 %-D.(V/M3JC
MG.('/^R: ."U;6?)O&3=T-=7H-Q]IL0^<UX_XEORNL2+G^*O4/!4GF:.I]J
M.FHHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ K,UN?[/8L^
M<8K3KF?&\_V?097ST% $OAN^%U"QW9KH:\I^'NL><C+N[UZI&<H#ZB@!U%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4UG"GDTZN<U[4_L=Q&N<9- '1 Y&:
M6JUC+YUJC^HJS0 4444 %%%% !1110 4444 %%%% !1110 4444 9NLS>1:%
M@>U>5V_B1F\5I;[^K5Z7XD_X\&^E>!VLA_X6!$,_Q4 ?2<!W0(?4"I*AM?\
MCUB_W14U !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 5QGC"Q>Z0A0>E=G5:YM$G^\* /GR\\*S/,QV'K3K;PK,I^X:]
MQ;0H&.=H_*A=#@'\(_*@#YW\2^'IK:T:3:1BN5T*REGN0O)YKZ'\?Z/#'H$C
M!1G!KRCP78+)J*@C^*@"^/"\SHAVGI4G_"+3;?N&O:K;0X#;1G:.GI4W]AP?
MW10!YQX&T.2RU0.RD<UZ\.@K/M=,BMI-RKBM&@ HHHH **** "BBB@ HHHH
M**** "BBB@ KB/B.,Z0?I7;UQGQ"YTD_2@#S;P0<:N@]Z]YB_P!4OTKP/P=G
M^W4QZU[Y%_JE^E #Z*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "H;O_CTE_W34U0W7_'K+_NF@#YXU-"/%LQ_VJ]M\)?\@I?I7C.J
M@?\ "42_[U>S>$O^04OTH Z"BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH *CG&8''J*DI",@B@#Q?7] DGU>20*>37I'A&U-KI2H1CBKTNE12R%R
MO-7;>!8(]JCB@":BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "N-^))(\,38]#795QOQ(&?#$WT- 'F?PO=BYR?XJ]Z@_U"?2O"/A@N&/\
MO5[O!_J5^E $E%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 5YA\1+TV^HVZ@
MXRPKT^O%_BS*4U>T _OB@#U3P^_F:/ WJM:E8OA4[M MC_LBMJ@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH QO$2[K%OI7@-O$1\0HC_M5]!:[C[$WT
MKP>+'_"?Q_[U 'T/:_\ 'K%_NBIJBM?^/6/_ '14M !1110 4444 %%%% !1
M110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%
M% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% '(?$3_
M )%R7Z&O)_ B#[>I_P!JO6?B$,^'I/I7E'@<[=04?[5 'T!:_P#'M'_NU+4-
MK_Q[1_2IJ "BBB@!"<"F^8N>M1W,HCA8YZ5A1ZF#/MW=Z .DHJ**16C!S4M
M!1110 444A(%  6"CFFB12>#5'5+H00[LUFV&IB68#=0!T=%-#J0.:=F@ KB
MOB(<:2?I7:UQ?Q#&=)/TH \Z\%KG6$/O7NT7^J7Z5X-X-?&MHOO7O$; 1+D]
MJ ',X7K0KANAK(U6^$!ZU'I.H"XDQNH W:*0$'O2T %%%)D"@!:*3(-!8 =:
M &^8-V,T^N>;4@-3\K=WK>5U*@YH ?12 @]*6@ HHHH ***3</6@!&8+UI0<
MC-96JWHMPO-7+*=9;=6SUH M44F0>]+0 5#=?\>LG^Z:FJ&Z_P"/67_=- 'S
M[JC?\55+_O5[1X2_Y!2_2O%-6./%4O\ O5[5X0.=)7Z4 =#1110 4A('6@D"
MJ.HW(AASF@"X)%)QFGUS5GJ@DN0NZNC5U*CF@!U%&:* "BBB@ HHJ*:0+$QS
MT% #O-7.,TX'(KE9=7"W!7=WKH;*82VZMGK0!:HHI,B@!:*** "BDR*6@ HH
MHH *0L%'-!('6J&IW0@@W9H NB13T-/KF[#4Q+,%W5T2L"!S0 ZBBB@ HHI,
M@4 *3@4T,&Z5#=3+' S9Z51TV]$SL,]#0!K44FX>M+0 4444 %%%% !7(?$4
M9\-3?0UU]<?\1CCPS-]#0!YQ\-!AS_O5[G!_J5^E>%_#,Y<_[U>Z0?ZE?I0!
M)1129&: %II<+U-*2!UK#U34! ^-U &VKANE.K&TB^%QGFM@,#T- "T444 %
M%%% !2$@=:-P'>J.I7(AASF@"\"".*6J.G7*S0;LU=W ]Z %HHHH ***0D"@
M!"X7J:%8-TK%U._$$F,U-I=Z)_XJ -:BDW+ZTM !1110 44A(%&0: %HHSBD
MWKZT +12 YHR!0 M%)D&@D"@ )P,FFB12>M5[ZX6*W+9K#MM5#SA=W>@#IZ*
M9&X9%.>M/H **** "BBD) ZT !8+UIHD4G -4-4NQ!'G-9VG:F)KC;NH Z.B
MFAUQUIV: "BBB@ HI"<4H.: "BDS2;U]: '44@(-+0 4A.!FC</6H+J98X&;
M/2@"97#=*=6/I=\)Y&&[H:U]P]: %HHHH 0G R:\0^+DBMK%I@_QBO9K^80V
MCOGH*^>/B'J7VK6H><[7% 'NGA)@?#]L,_PBMVN-\#WHDTF!,]%KL-Z^M #J
M*0$'I2T %%%)N'K0 M%-WKZTN]?6@!:*0'-+0 4444 %!.!14%S*J0LV>@H
MD\U<XS3P<BN4_M<?:=N[O726TH>%6SUH S?$3;;%OI7@5O(3\08O]ZO>_$?.
MGM]*\&M(\^/HC_M4 ?1UK_QZQ?[HJ:H;7_CUB_W14U !1110 4444 %%%% !
M1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%
M%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 444
M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% ')?$'
M_D7I/I7DG@DYU)?]ZO6?B'_R+LGT->2>!O\ D(K_ +U 'T):_P#'M'_NU-4-
MK_Q[1_2IJ "JM_<"WMRY.,5:[5Q_B[64M[)TW8- &5K'BQ(T9/,_6N5B\3A;
MC=O[^M<9J5Y<7ER2C$C-0+8WA&X9H ]BL_&2,$3S/;K7>:?<"YM%D!SFOE]9
M[NSN(RY( 85[MX/UV.;3(8RPW8]: .UHID;AUR*?0 5CZUJ0L(]Q.*UI'V(6
M/:O+OB!K@$12-N10!'KGBU9(B@D_6L73_%(AF#%_UKA&:[O93@D@TKZ;>JN1
MF@#VBS\9),RKYGZUV&EWPNTR#FOFFSN+NSN%\QB,&O8O!.N+)&JLW.* /1ZX
MSXA'&DGZ5V,;!T##O7&?$,$Z2?I0!YQX.3.MHWO7J6KZ\NG[5+8XKRCPO=I:
MZDI8]#5GQKJ[W-XJ0MU]* -G6/%*SDX?]:KZ)XJ6&<Y?OZUPZ65Y*I)SS5&:
M&[LWW'(H ^AM%UY;^4*&SFNGKP?P+K;)?*LC=Z]PM+@7$(=30!8K)U7419C)
M.*UJX/QU.\4;%3VH VM)UI;V5E#9Q536/$2V18%\8K@/!^N&*\F$C>M97BS5
M9+JYD6)ORH TW\5#^U_,\SC/K731^-4*@>9V]:\;2QO7'F#.:23[;;C+$\4
M?1WA_6%U)<ALUOUXU\-=<V?)*W)KV*&021AQWH ?1110!#=2^5 S^E<9J'BM
M+:0J7Q@^M:WB754M+.12<'%>#ZWJ4]U=/Y;'K0!W6M^+UF"XD[^M7].\9HEJ
MJF3]:\D:UO9USS37%[;J 2>* /HG1]=6^VX;.:Z4<@&O"_!>MM%-&DC<U[58
MW2W,*LISQ0!;J&Z_X]9?]TU-4-U_QZR_[IH ^>M6&?%4O^]7M/A 8TE?I7B^
MJ?\ (UR_[W]:]I\)?\@I?I0!T-%%07%PL"DGM0!0UC4!8Q;B<5P6L^+D9"@D
M_6G>.=?5H2D;<_6O)Y#=W<Y()(- '<67B817(<O^M=A8^,$F*KYGZUXR]C=I
M%D9S3K"[N;2=?,8\&@#Z4TV]%T@(.:T:\\\%:VLT:J6R<5Z"C;T##O0 ZBBH
MYI!&FXT 1WDP@MV<GH*X/4_%Z1;T\SVZUJ^(]>CCL)4##=CUKPG4[JYN[Q]C
M$@M0!UT_B/-SOW]_6NKTGQ>GDHGF?K7DOV"[:,-S26TEW:S#<2 #0!],Z7=B
M[MA(#FLO4-:6VU)("V,G%87A'7D7351V&['K7*>(]8+^+[=$;@M0![/"^^)6
M]13F.$)]!5;3SNL(3ZJ*FG.('/\ LF@#G+K7EAN3'NZ&MO3[D7, <'->-Z_J
M4D>M2*&_BKT[PA,9M)5B>U '1444R1PD98]J ,G7-3&GQ;BV*X#6?%Z2QE!)
M^M.^(6N PF.-N1QUKR;%Y=3$@D@T >@:=XG$4X)?]:[G2O%"74B('SGWKPMK
M.\B7=S6MX=U2:UOXQ(QP#0!](Q-OC5O44^LC0]22]M4VG/%:] !6!JNL+9DY
M;&*VII!&A)KR#QMK16X=$;F@#8U#QDGE,GF?K63IWC!;>4YDZGUKSG_3+QR5
M)(S4-W97T1##=0![KI_BM+E@ ^<^]=E:3>= '!ZU\V:'J4]M.@D8]:][\-7P
MN-.CYYQ0!OT444 %%%% !7&_$C_D6)OH:[*N.^)'/AF;Z&@#S;X8?>/^]7NT
M'^I7Z5X3\,1AC_O5[M!_J5^E #G.U&/H*P+?65DU-K?=T-;ER<6TA]%->-6F
MM&'QG,C-P&H ]'UK6EL$8EL8KSC5/%BW,QQ)W]:;XWUHSHZ1-R17G=C:7MPQ
M8Y/- 'IND^+%M>LG7WKN?#OB!=3EVA\UX%>V5["NY=W%=3\.=9>UORL[=^]
M'OU%4K.]2Y0,IZU=H *9(VV,GTI]9.LZ@EG;/N..* ,?5?$:V;$%\8KE=6\8
MI+#M$GZUR'BC69+BX=8F[USBVU].N?FP: /4=+\9I%"%,GZUU&E>)5O'4!\Y
MKP"2VOK<Y^; KH?"^M26UW&LK=Z /HV-MT8/J*=65HNHI>VR;3GBM6@ [5SN
MKZRMD3EL8K9O+E;:(LQ[5XYXSUTR3ND;?K0!9UCQ0LUQP_?UI^F^+5M>LF/Q
MKS5$NKF7=DGFDU"WO(]NW- 'MUCXO2X< 2=3ZUVEE/\ :+=7!SFOF32]0N+2
M9#(QZU[OX2UE+JQC3=DXH ZVBBB@#!UK5A8.H+8S4^EZB+L#!S7 _$R]>VNH
M@IQDU?\ !^H$1*SGM0!VNKWHLK8R$XKCAXR3[3L\SOZU#XV\0(;%HT8;L>M>
M06EQ=SZJ,,<9H ^E-(OA>P[P<\4S5M1%F.3BLKP4LBV \SKBLSQ[<-"GRF@#
M=TC65O9BH;.*DU?5A91EBV,5YQX(U9OM\@=NE2^--;\R-XXVY^M %S5/&2/"
MR"3]:P+3Q($G#%^_K7!,+RXDX)Q4S6MU%"6YH ]RT3Q.EWM4/FNSA?S(@WK7
MS=X5U:6UNU$K=Z]ZT'4TN[5 #DXH VZ*** "L/6]5%AU;%;$T@BB+GM7DGQ!
MUS+[(V_6@"WK?BE9(\!_UK%T_P 3BWN-Y?\ 6N++7-V>"34%U97B1;ES0![)
M9^-$FD"^9^M=KI=X+N'<#GBOE_3KJ[M;E6D8X%>W>"-=26V5&;G'K0!Z%134
M;<H/K3J ,S6K\6%MYA.*71KX7UKY@.:YKXDW#6^BEE.*K^ M4!T(.[4 =7J=
M^+122<8KC[CQHD4^SS.^.M5?%^OJ$=5;FO'[JZN[G4%*,<;J /I'1=6%^JD-
MG-:.H7(MH=Y.*XCP$DPAC,F>E;_B^<P:86![4 9=YXK2 GY_UK$OO&R-;LOF
M?K7G>IW]Q<3,J,>M9$EIJ#G^+F@#TK0_%JQS,3)U/K7;:;XC6Z< /FOGU(+R
MU.3D5U/AK69(;A1(W>@#Z"@D\R,-4M9&AWBW%DA!ZBM>@#C?&&LBSMY(]V,B
MOG'Q)J'GZJK;L_/7LGQ*BG>9BF<5X)K$4BW@W==U 'L7A3Q0ME9Q@OC ]:ZL
M>.(^/WGZUXA8Q73VR"//2KRVNH<?>ZT ?2VA:@-0LQ*#FM6N.^'J2IHBB7KB
MNQH 9,^R)F]!7&:AXI2VF9=_3WK;U_5$L;60,<$BO!];U.:ZOY/+8]: /3#X
MVC!_U@_.I8?&2.P'F?K7C)BOFYRU.CEN[=@6)XH ^D=&U 7T.X'-:M>8^ ==
M4VXC=OF/O7ID;;T##O0 ZBBHII1$F30!!J5R+6U:0G&*X#4O&*!'3S/UK2\7
M:]&NFR(K#=CUKPNYGN[JY;:QP30!VR^(LW.[?W]:[#3?%R,B)YGZUX^EE=!-
MW-+:W5S;7*[F. : /H'4K@76C>8#G(KQ.T<#Q[$/]JO2+'5DG\/JA;YMM>86
MI)^(,7^]0!])VO\ QZQ?[HJ6H;7_ (]8O]T5-0 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110!R'Q#_ .1=
ME^AKR3P-_P A%?\ >KUGXC''AN7Z&O)_ (S?*?\ :H ^@[7_ (]H_I4U16W_
M ![1_2I: (IY5BC))QQ7@GQ UMSJ,D*,2,]J]>\67_V'3V?..*\!N2=8\0XZ
MY- &QX3TEK^,.ZYSZUZ+:>%(VAR4'2G^$]"%K:K\O:NV@@"1XQ0!X=XUT'[&
MF^-.G/%9?@K7I(M3%N[$ '%>O^*-%%[;2?+G@UX3-"='UYSTPU 'TOI4PGM%
M8'-7ZYCP3=_:M&1\YXKIZ ,[6+I;>PE);!"U\[>(=2EU#4Y(U)(#5ZK\0M9^
MQ1-&&QN&*\U\+:9_:^INY&<MF@#?\(^'A<["Z=?6N[;PA"5^X/RJ_H6CBR"_
M+C%=+@8Z4 >"^--"^P.S1IT]*Q_!NJ30WRQDD?-BO8?%FC"]A=MN:\MMM(-C
MJR87'ST >\Z:_F6$3'N*YOQZN[2C]*Z'2.-,A_W:P/'7_(*;Z4 ?/LVHM::@
M0IQ@UJ:89=6U6'<"037,W>9M?\OU->O>"O#N3',5Z8- '66?A2+[+&=@Y6N;
M\7>&E@MRRH.E>KPH$A5<=!63K]@+RW88SQ0!\W6MU)INJ'J,&OH3P9?B[TA&
M+9.*\1\8:7]@N&D QS7H?PVU$MIT<>?2@#U*N \?#]PY]J[Y>5%>?_$)MMK(
M?:@#Q*+5&L[Z4*3R:UM$CEU34,N"037((QGU=D_VZ]O\&>&PMO'/MZT :^G>
M$HGM02@Z>E8/B?PPL$#E$' KU>TA$407%9FL:<+N)EQG- 'SMIE]+I6KQQ\J
M"]?1^@W:W&EPMG)*UX-XUTG^S-4CD Q\V:],\ :J;JWCBW9P* /0J9(XC7).
M*?6+XEO/L>F/)G&!0!Y9\2-<9+MHHVZGM7*^&;!]1FW.I.3WJOJ]X=9UQ5SG
M+5ZEX2\."WA1]G49H ET_P )QO",H.GI6/KWAE8D;:@KU.UMQ$F,51U/3A<(
MW% 'SC]HETW6 O( ->[>!M4%W8#<V3BO+?&FA_9)WG"XQ6C\.]:*E82W?% '
MN@Y%0W7_ !ZR_P"Z:= VZ%&]13;K_CUE_P!TT ?/.K\>*IO][^M>U>#S_P 2
ME?I7C6KIGQ1+_O5[-X0&-)7Z4 =#7,>*K\6EI(<X.*Z>O+?B9J/V<>6#UXH
M\LU+59M0U)HP21NQ7>^&/#HN(49TZUS'A+1/[2U N5SELU[=HVE"TA5=N,4
M<Y+X6CZ;!7GOB_1S8,S(O3TKWIX 3TKC_%>A"[MY&V]J /*O ^LR0W@1V(^;
M%?0FF3B:SC8'.17S1/$=&U90./GKW3P=J/VJSB&<\4 =A67KL_V?3W?.,"M2
MN8\;7 @T.1L]J /%_$VORRWIA5B03BKGAC1C>D.Z=>>:P["T.JZH&QGYJ]H\
M.Z"+2!#MQQ0!2A\+1F'[@Z5R?B/0/LRLR)TKV-8 J8Q6)K&CB[C8;<T >'6>
MLS6-P(B2 *A_M WGBVU;.?FJ_P"+M).G2O(%QBN3\-3FX\2VY)Z/0!]8Z9_R
M#H/]P5-<_P#'M)_NFH=,_P"0=!_N"IKC_CVD_P!TT ?/OBAR->E_WJ]<\"'.
MB)]*\D\4)G79?]ZO7/ @QHB?2@#JJSM9NUMM/F);!"UHUYQ\1=:^PQ-$&QN&
M* /*-9U.74=8DB!) ?%=OX=\-K-;([)R:Y3PGIG]J:LTA&<MFO<=)TP6UNJ[
M>E '+WWA:,6A(0=/2O+-?M9--O-R*1@U]'7%L'@*XKS/QGX=#VTLNWI0 _X7
M:R;I"LC=..:]6!W#(KYV\"WQTW4#%G&6Q7T#82>;9QOZB@"GKD_D6C-GM7SM
MXFOWN=>,8)()KWCQE+Y6F,?:O"K:T^W^)EXSEJ .]\&>&ENK(.Z#..XKHK[P
M?$;=CL' ]*W_  WIXLK)5QCBMF9 \3+CJ* /F[7=.DL;WY%/#=J]/\"7$C6\
M:MGI4NL>%Q=SEMG?TK:T#1_L*J,8Q0!TPZ4M%% !1110 5R'Q%_Y%J;Z&NOK
MC_B,<>&9OH: /./AH,.?]ZO<X/\ 4K]*\+^&1RY_WJ]T@_U*_2@!EY_QYR_[
MIKYAUS4FM/&4Y!Q\U?3U[_QY3?[AKY)\6N?^$RG'^U_6@#H;::;5;]5()4UZ
MCX?\*1FW#%!T]*YWP+X>^T6\=P5S7K^G6PMX0N.U '(ZGX2B-G(VP9"^E>+:
MD\FB:JVT%1OKZ@N(Q) ZXZBO"OB3H?D-YP7J<T =WX&U7[9919;)(KOZ\1^&
ME^?M$<&>E>VCH*  D*,FO+OB3K)M5V(W7TKTC4)?)M'?T%> >.]1-[JB1 YR
MV* ,/2DFU*_^8$@M7L.C^$XY+%&*#)'I6/X4\*@6\4^SKSTKU*P@$%LJ8Z4
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
MJ$]167X@G2>Q?O\ +0!Y'X(S'XP,?HU?0B_='TKY[\)''CQ@/[U?0B_='TH
M@O?^/5_I7@GCL@ZW!_UT%>]7_P#QZ/\ 2O ?')QKD'_704 >V^%E T&V_P!T
M5M5C>%O^0!;?[HK9H *Y3QE?>1I,ZY_AKJZ\S^(UT4MI8P>HH \T\+P'4M9D
M8\X>O?\ 1[806<8QC KQKX5V?FWTK,,_,:]TC39"H':@"P,8J*= T9&*D3I2
ML,B@#Q'XCZ=^_:4+TJW\'[@R22(3T)K>^(%D)+"9\=!7&?"&Y^SZA.K'^(T
M>\,<*3Z"O)OB7JF^R> -7JC/NM68?W:^?O'=TTNIR19[T :/P[TWS)(YBO>O
M<88PL2@#M7G/PWL@NF(Q'->E#[HH ,"HYHU:)ACM4M(>AH \&^)FDD++*%]:
M\V\ QE/%T(/]ZO?OB-8+)I;MCG!KP_PC%Y7C2%?]J@#ZOM/^/2+_ '14U0VO
M_'K%_NBIJ "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***
M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M **** "BBB@ HHHH **** ..^(QQX<E^E>4> >;Y<_WJ]9^(8W>'91[5Y/X&
M^34%'^U0!]!6W_'M'_NTZ4XB8^U,M?\ CVC^E.G_ -0_TH \1^(]Z6WQD\9K
M8^'3QIIZ,2*Y+XD2XN)/K47A76S;6"C=B@#WW[=%@?,*7[=%_>%>4CQ0VW[_
M .M*/%+$'Y_UH ]6^WQ$8W"O/OB4T4FE$@CI6/%XJ8N1O_6L#QAKQN;#;NS0
M!-\/Y\:C&@/>O9M??9H4C?[->#?#N8MK$?UKW7Q)_P B[+_N4 ?/TI-WX@7/
M.)*^AO#T BTJ#C^&OG_3(O,UW/\ TTKZ)T<8TR$?[- %^BBB@ HHHH *XWX@
M?\@D_2NRKB_B&<:0?I0!Y?X/A!\1(WO7T#%_JE^E>!>##G74^M>^Q?ZI?I0
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
M]>YW!Q&:\(^(<H.MJOO0!U_PN&(3]*](NO\ CUE_W37GOPTCV6^?45Z%=_\
M'I+_ +IH \ U/YO%,H_VJ]F\*#&EK]*\6U)MOBR7_>KVGPHV[2U/M0 OB_\
MY%ZX_P!TUXEX*XUB3_KH:]O\6#.@7'^Z:\,\+.(M:<>LAH ^A=/_ ././Z5:
MJIIAS81GVJUGF@!:C8?-4E% &#XE7.ES_P"[7A?AJ3;XGF'^W7N7BB0)IDX_
MV37@_AS)\3S'_II0!]#Z6<Z:I]J\"\8?+XU)_P!JO?-(_P"08OTKP;QTGE^*
M6D]Z /7?!#[]-'^[75J,5POP[NA+IHY[5W@H 6BBB@"AJO\ QYM]*\"UM<^-
M[<_]-*]VU^<0Z>[$]J^?[Z]6X\:08/\ '0!]%:7_ ,@V#_<%3W'_ ![R?[IJ
M'2_^0;!_N"IKC_CWD_W30!X#XI&=;D_WJ]8\"#&B)]*\H\3_ /(<D_WJ]9\"
M_P#(%7Z4 7_%'_("N/\ =KY6U8G^UI/]^OJKQ.,Z)./]FOE_4K4OK##'5Z -
M&V9A;K]*E0LK9K<L] D>TC8*>15D^'9-GW30!S3%BV:>)6"]:Z(>'9-GW343
M>'9<?=- '$7MNUU>QG&>:]N^'5L88H^.U<1;>&G-PI*'@^E>K>%;'[+&HQCB
M@#K",BN,\5:/]MA<!<YKM*BE@20?, : /FO5O"[V\Y.S'-9\9;37&>*]R\0:
M+')(2J"O,?$GAV3)**10!K^%?$H655+]Z]BTZ<7%HLF>HKY?M3-IETNXD?-7
MOG@W5UNM.B3=DXH ["BBB@ HHHH *X[XD?\ (LS?0UV-<=\2/^19F^AH \V^
M&'WC_O5[M!_J5^E>$_##[Q_WJ]V@_P!2OTH 9>?\>DO^Z:\0T'_DHLW^]_6O
M;[S_ (\Y?]TUX?H)_P"+C3?[W]: /=E^Z/I2TB_='TI: "H+O_CTE_W34]07
MG_'I+_NF@#P?3IA%\09C_MU[K92^;;AO:OGP,5\>38_OU[QH;%K%2?2@#R[X
ME\W^/>M'X5)M#51^)0_T[=[U?^%<@<.!0!ZI1110 4444 %<!\21FQ_"N_K@
M_B*,V/X4 >?^ .-?'UKWD<QCZ5X!X%F \1[?>O?83NC'TH <@P*?110 5Q/Q
M&&=%;Z5VU<1\17QH[?2@#R;P8N/$,?\ O5]&0?ZA/]T5\\>#.=?C/^U7T/!_
MJ$^@H \8^,0S<QCWJQ\+8=DJG%,^+JYNXOJ*TOAM%M"'% 'JE%%% !7GOQ"&
M8C]*]"KS_P"(!Q"WTH Y;X:#_B<R?[U>TUXC\-I0-;D_WJ]L5LB@!U,8?-3Z
M:3S0 UQ\M>4?%D9LUKUEONUY+\6' M5H SOAM_KXZ]"\>_\ (MR_2N ^&Z_O
MHS7H/CI=WAR4>U 'B_@O_D*#_?KZ)LO^/./_ ':^=/"3>5JR@_WZ^B=/;=9Q
M?[M $[C-.7@4M% !6)XG_P"0+/\ [IK;K!\52;=%G_W: /!M*_Y#K?\ 72OH
M?1?^07#]*^>-#_>ZZV/^>E?1&CC&FQ#VH XWXK?\B^:Y+X:Q91&QWKK?BKSH
M!KFOAH/]'3ZT >R1_P"K7Z4ZFI]Q?I3J &N<(3Z"O)OB'K>+=X0W2O5K@XMY
M#_LFOG7QI</=ZW+ "3STH Q=)TU]0N0V,Y-=W!X5;R0-G;TJ;P/H>U$9UKU.
M+3X@JC:.E 'D9\*,F?D_2L76/#3K$3M[5[M/IT1'""L'6M*C:U?"#[IH \@^
M'-N;?Q5L(Z&OI%?NCZ5X%X3B$/CAD Z-7OJ_='TH KWW_'H_TKP/QR,:Y!_U
MT%>^7W_'J_TKP3QV?^)Y!_UT% 'M?A?_ ) -M_NBMFL;PM_R ;;_ '16S0 5
MX7\7!F[->Z5XE\5H]]T: /+] )61_K6U,6ZU'X7TI[F1\ ]:ZF3P[(1]TT <
M_P"<WD@9J!96#]:Z/_A'9?[IJ,^')=_W30!S5_NFB8>HK<^'6B-)=[]O\6:N
M_P#".2,.5-=YX"T46A)9* .VCC\K263T0U\Z7J[?'LK?[5?2EP +20#^Z:^<
M=67;XTE;_:H ]W\+-NTU?I6]7.>$&W:6OTKHZ "BBB@#)U[_ (\F^E?/\?\
MR42+_?KWWQ$^RP8^U?/]O)O^(<1_VJ /I.U_X](O]T5-4-K_ ,>D7^Z*FH *
M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HH
MHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB
M@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M"BBB@ HHHH Y#XA_\B[+]*\E\#$_VBO^]7KGQ!&?#TGTKR3P2,:DO^]0!]!6
MO_'M']*?-S"X]J9:_P#'M']*E894B@#P'XF6S!W;'>NJ^'%A#/H2;L9Q4/Q5
ML FG&7%5?AGJ.VWC@S^% 'I']@PD?='Y4G]@0_W1^5;J\H#[4M &%_8,7]T4
M?V##_='Y5NTA('6@#.M=,CMV! %0>)1G1)A_LUL @]*S=>3?I4J^U 'S@&,7
MB)0>\E?2&A'.CVY_V:^<]7B^S>(XN,9DKZ'\.2J^C6^#_"* ->BBB@ HHII<
M*>30 ZN*^(G_ ""3]*[4<BN,^(0SI)^E 'FW@L'^VD^M>\Q?ZI?I7A?@U?\
MB<)]:]TC_P!4OTH ?1110!Q'Q&.-'/TKRCP6<^(X_K7K'Q%&=(/TKR3P8<>)
MD'^U0!]'0_ZE/I7G_P 0A^X?Z5Z!#_J4^E<%X_&8'^E ''?"O/\ ;4O^]7N-
M>)?"Y<:W+_O5[;0 4444 </XZ)^R2?2N&^%W_(?F_P!ZN^\;IFRE/^S7G_PN
M/_%0SC_:H ]Q;[A^E>"?$*$KJKOCO7OA^Z?I7C7Q&M<&23% &Q\,+@?V?@GM
M7IHY KQ;X:7NR,)GO7L\1W1*?:@!]%%% %6\;;"2:^?/'<OF^*8T'=J]YUN4
M163-GM7S]K+?;/&$/?YZ /7O 5L8;-"1U6NQNO\ CUE_W365X>LQ;V$)QC*B
MM6Z_X]9?]TT ?.^M$CQ3+C^]7M7@PDZ.N?2O&-67=XJE'^U7M/A!=NDJ/:@"
MSXH&[0YQ_LU\_P"FO]GU[!XS)7T+KZ;])F7VKYWU$&TU].V9* /HO1G#Z7"?
M]FK@^_6+X9N!+I4'/\-;H'.: '4444 <=XUN/*LI5SU6O'_"41E\02D?WZ]&
M^(]V(HF7/45Q?PUM_M.M2,1GYJ /<-,7;IZ@^E>)_$>S9+^28"O=H(_+A"^U
M><_$C2@VF2S[><&@#,^%U^/L>PGFO6XSE :^=OA_J1MKM8BV/FQ7T%9SJ]M&
M0>HH M4A.!1N%133*JGF@#D_'-\(='EP><&OG73KMKCQC 2?^6G]:]:^(>J9
MMY8@WK7C?AM2WBJ!C_?_ *T ?76E?\@RW_W!4]Q_Q[R?[IJ#2_\ D&P?[@J>
MX_X]Y/\ =- '@'BK_D-R?[U>L^ _^0(GTKR?Q0,ZY)_O5ZSX%&-%7Z4 :OB%
M=VD3#VKYWN[8+KHW#K)7T?JR;]/D7U%?/WB=/LFMQGI\] 'L&AZ1#+I<)P/N
MUI_V%%C[HJAX/NQ-IT*YS\M=70!B?V%%C&T4W^P8O[HK=HH PTT*)6SM'Y5I
MVUJL X%3E@IYIPY% !1110!5N+59CR*R-0T**:%B5'3TKH::Z[D(H ^<_'VF
MFQ?<BXP:W_AEJ3R31Q,:V?B1I0>W+;:Y3X<'R]>$?H: /H =!2TB_='TI: "
MBBB@ KCOB1_R+,WT-=C7'?$C_D69OH: /-OAA]X_[U>[0?ZE?I7A/PP^\?\
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
MQZR_[IH ^?-3_P"1KE_WOZU[5X3_ .04OTKQ/53CQ7+_ +W]:]J\(G.DK]*
M->_B\VT=/45X!X_LC8ZK')C'S9KZ((R,&O)?BAHYN3YJ+]WF@#3^'^K"YMXX
MMW05Z.#Q7SWX!UC[!J!B=L8..:]NL-36YC4@YS0!KU%.X2(G/2HVN .]8FMZ
MPMM:OE@.* /+_B=J>;E8P>IQ5SX5VNVZ\S'6N,\47#:SJJ;3G#=J]7^'^F&U
MMXV*XXH ]$KF_&=M]IT21,=17250U>'S[-DQGB@#YC\TZ-K [8:O8?#'B<7<
M*+OZ#UKSSQMX<D%VTR*0 <\51\,:B^GOM=B,'O0!]"+? Q9SVKFM;\0"W5AN
MKFH_%Z>5M\P=/6N9UO56O"VUNM %77+\ZG<,N<YKG](LOLWBBW&/XJZ/2-'D
MF83,"15::,0>+K9<8^:@#Z,TS_D'0?[@J:X_X]Y/]TU#IG_(.@_W!4UQ_P >
MTG^Z: / ?%)QK<G^]7K/@0YT1?I7D?BHYUR0?[5>M^ _^0(GTH Z6Y3S(&7U
MKPCXEVOV:_1\=&S7OA&17E?Q.T@W2F15Z"@!OPTU3[1MBW=.*]7KYT\ :D=*
MU1D=L8;'->ZZ;J:WB @YS0!K445C:KJRV(.6 Q0!5UO519W,:;NIK;LY/-M4
M?U%>1:[KPU#580CYPW:O5=%).EPD_P!V@#0I,CUK/U:^%C;^83BN<@\6Q23[
M-XH [2BJEC="YCW YJS(VU"?2@#A/B*0+(_2O.OA_P#\C/\ C75_$?5E\GR]
MP]*P?AW9EM66?'!- 'NB_='TI:0?=%+0 4444 %<=\2/^19F^AKL:XWXD?\
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
M7K_PXTD16 9UYQ7G_AK1S>WR,R9R?2O<]#T\6-JJ@8XH U5&% J*[_X]9?\
M=-35%<\VTG^Z: /GC5P?^$JE_P!ZO:O!_P#R"%^E>0ZI:LWB>4[3]ZO8?"B%
M-+4'TH WZPO$FG)=Z=,2,G::W:BN8_-MW3U% 'RO.D^EZ[*P!"[Z]5\+:\I@
M0.W./6LGQ[X>%J6G5.3STKA;#5IK2;9D@"@#W:77(L_>KA/&.MEH76-NH]:Y
M9O$<Q?[QJE-=RZA<*AR030!9\(64NH:AND&?FKZ%T:R6VLX\#M7GO@/01&H<
MI[UZI"FR)5]* 'TR1 ZX-/HH Y7Q'H<4]A*VWG'I7A&K:7<6T\GEJ>M?35U%
MYT#(>]<=>^$X[AV)0<F@#YZ5=0$N,-UKH=,T^YG*[U->I?\ ""Q[L^6/RK2M
M?":0X^0<4 5-)TA(=$WLO.*\PU88\;6X']^O<;^$6>CLO3 KPZ\_?>,H&_V_
MZT ?0VE_\@V#_<%3W/\ Q[2?[IJ'3/\ D'0?[@J>X_X]Y/\ =- 'SYXF4G7Y
M/]ZO7O HQHJ_2O,O$5HS:U(V#]ZO4?!B%-(4'TH Z6L7Q!IR7=A+D9.VMJHY
MT\R%D]10!\O:K!-I>L2,H(&^O3O!FO#R8Q(WZU2\>^'Q&&E5.3STKSZVU6;3
MY=HR,4 ?1G]NV^/OBO.?'>NY#B)OUKBQXMG/&XUGW5_-J5P%;)S0!/X9^T7^
MIJSY(#U]':0I3385/9:\M\">'A\LA3WZ5ZW;Q^5"J>@H Y/Q^TJZ0QCZXKPN
MTU6Z@U4"0D#/K7TCK=@+^T,9&>*\%\6Z,=/O7=$QCVH ]4\*Z]$UF-[\XK;O
M-=@%L^'&<5\_Z5K]Q;1[<L,5:NO%<[#;N/- "^.=0>\N]J'(W5Z+\.M/V64,
MI')%>86<#ZI=*S*3\U>\^%+ 6VF1#&,"@#I>U%%% !1110 5QWQ(&?#$WT-=
MC7)_$",R>'95 [4 >8_"^%BS''\5>[0<0K]*\K^%NG;;9V*]Z]7484"@"&\_
MX\YO]PUX-X?#?\++F_W_ .M>]78S:2C_ &37C&B6;+\0)9-O&Z@#VQ?NCZ4M
M(OW1]*6@ J"\_P"/.7_=-3U%<C-M(/\ 9- 'SK%"[_$";C^.O?-%0I9*#Z5Y
M1I^F%_'$KE?XJ]CM8O*B"^U $DJ"2,J>]>.?$W1?F\R->1S7LU<UXHTE;^U<
ME<X% '@'AS5)[:^$;D@!O6O>=#UZ$Z>@9QG'K7ANJ::VGW\C*I&#Z4^T\3SV
MY$>XC% 'N.MZY"+!MK#./6O#O$>KS7-V8T8D$^M3WGB6:> IN)S6?I%H^HZC
M'N4G)H ],^$]M)$C,XZUZL1D8KF_"VDKI]JA"XR*Z6@#@_'NDK-IS,JY.*\,
MLY)].UQ5.0H-?3^K68O+8H1GBO#/%VA_8KQI53I[4 =IHFO+L3<W;UK9U#7(
M_+&&[>M>(6NM30<9(Q6@?$$LL1^8]* -;QGK32Q;8VJMX TM[O55DE7@FN>C
MDEU.[","1NKVOP5H*VMM'-MP: .UL[=;:$(H[59H'2B@#QCXN(6O8?J*WOAX
MN(8_I6?\3[9IKN(@9Y%;'@2(QQH".U 'H-%%% !7GGQ#_P!4?I7H=>=_$/\
MU1^E 'D-K8?:+J0J,FF6%Q/8ZN5.0H-=1X,LQ>:A,I&:K^)M'-G>/(JXY]*
M.XT775\A=S<_6M"\UV,0-ANWK7CEOK$UN=N2*EGU^9UV[C0!9\6ZG+<S;8SG
M)K=^&FE/)>^9*O4US&FVSZG=+N4G)KVWPGHBV,"2!<9% '5PQ"*,*.U2444
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
M[#K>E+--D(/RK,@T4+,IV=_2@#FM%\'F.19"G?/2O5]*MQ;6:IC&!2V=I''
MHVC@>E7  HP* %HHHH Y3Q/I'V^56VYP:M:%IWV-5&,8K>>-7ZBE5 O04 .H
MHHH *\Z^(G^I/TKT6O//B&,PGZ4 <E\,_FUB4>]=MX@T#[86.WK7%_#%,:U)
M_O5[2\*N.0* / -3\-&"8_+^E4[;P^TTRC;WKU_6=)664D(/RJCIVBA+A24[
M^E &7H/A;[.R.4_2O2[.(16ZKCH*2"V1(EPHZ58 P* %HHHH *Y+Q7HXU%?N
MYKK:8\:OU% 'A&K^%#;9;;^E9>F^'FN+O;MKVOQ!IJ3PX"C\JQM$T817NXI^
ME '-V/@TQ3JVS]*](T.R%I;A<8XK16UC&/E'Y5*JA1Q0 ZBBB@#"\36'V^Q\
MO&:=X;L/L-@(\8K9= XP10J!!@"@!U%%% !65KEF+NU*8SQ6K2,H88- 'CNL
M>%,(SA/TKC9]#;S,;>]?0>I6:26K#:/RKBIM#!F)V=_2@#C-#\+&9LE?TKTC
MP]HGV)3\N.*NZ#IJ0#E1^5=$L2KT H XVTT/RM?:YV]37:#H*8(E#;L#-24
M%9.L68NH67&<BM:D90W6@#QV^\&&6Y=PG4^E01^"2K@[/TKV,VL9/W1^5'V2
M+^Z/RH RO#-C]@T\1XQ6Y340(, 4Z@"*YC$D#+CJ*\QU_P *?:IG<)U]J]3Z
MU!+;(ZG*B@#YVU#PZT$A7;TK7TKPB;FTW;?TKO-6T42W#$)W]*Z#0M.2&S"E
M1^5 '(^'O"_V*124Z'TKT>!-D2CT%(L")T J6@ I#R*6B@#EO$&DB\1AMSFO
M/+_P:55WV?I7M+1JW453O;*-[9QM'3TH ^>VT%C<;-O>NPT;PB5"2%/TKH/[
M$'VS=L_B]*[6RLXX[9!M' ]* &Z5:BWL5CQT%<U<Z'O\0+<[>AKM  HP*:8E
M+;L#- "QC;&H]!3J** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHH
MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@
M HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "
MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** $8;ABJS6:,<XJ
MU10!#% L705-110 4444 %%%% #)$#C!JN;),YQ5NB@".*,1C J2BB@ HHHH
M **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ I",C%+10!5>T1SDB
MGQ6ZQG@5/10 4444 %%%% !1110 4444 %1RQB1<&I** *GV-,8Q4\40B&!4
ME% !1110 5S'CB1H]!D9>N*Z>N>\80^=HLBXSQ0!Y%X5UIXKS;(W\5>QVFLQ
M/ GS=O6OG.Y>73M1X!'S5U>E^)VPBLYH ]L.I1@9S44NKQ(A.X=/6O.9/$8\
MD'?^M9&H>)B(CAZ ,SQUJC7>IO$C9!-=M\,--'V#>XYQ7E,1EU36@2"037O?
M@NS^R:>%QCB@#J5&% ]*6BB@ HHHH **** "F21B1<&GT4 5DM$1L@59HHH
M**** "BBB@!&7<N*K_9$W9Q5FB@!%&!BEHHH **** "BBB@ HHHH **** "B
MBB@ HHHH **** "BBB@ HHHH *KRVRR=15BB@"M':)&<@59HHH **** "BBB
M@""6W60Y(I@LT!SBK5% "*-HQ2T44 %%%% !1110 4444 %>?^/QF(_2O0*X
M#Q__ *H_2@#F/ALN-9D^M>S5XU\-S_Q.)/K7LM $$ELLAY%,2S1#D"K5% "
M8&*6BB@ HHHH **** (IH1*,$5'%:)&V0*LT4 %%%% !1110 4444 %%%% !
M1110 UU#K@U6-DA.<5;HH BBA6+H*EHHH **** "BBB@ HHHH **** "BBB@
M"M):(YR14L48B7 J2B@ HHHH **** "D9=RXI:* *GV)-V<5:5=JXI:* "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH
M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H
MHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BB
MB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ****
M "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *HZI;_:;1DQUJ]2$
M CF@#POQ9X>\N5I-O0UYO>WQL)L9Q@U] >-(E$$AP.E?-/BUBMTV/[U &Q_P
MDI:,#?\ K42:L;J79NS7$Q2MZFM+1G)OER>] 'NW@SPY]H1+G;FO7]-MOL\(
M7&.*YKX>1*=!0XYP*[, #I0 M%%% !1110 4444 %%%% !1110 4444 %%%%
M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444
M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %>=?$1]L9^E>
MBUYM\2/]7^% '/\ PS;.L/\ 6O::\2^&'_(8?ZU[;0 4444 %%%% !1110 4
M444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !11
M10 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%%
0 !1110 4444 %%%% '__V0$!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<FILENAME>R1.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198277307936">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information - shares<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Apr. 30, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CoverAbstract', window );"><strong>Cover [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentType', window );">Document Type</a></td>
<td class="text">10-Q<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentQuarterlyReport', window );">Document Quarterly Report</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Mar. 31,  2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalYearFocus', window );">Document Fiscal Year Focus</a></td>
<td class="text">2024<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_DocumentTransitionReport', window );">Document Transition Report</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFileNumber', window );">Entity File Number</a></td>
<td class="text">0-21121<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">TRANSACT TECHNOLOGIES INC<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0001017303<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityIncorporationStateCountryCode', window );">Entity Incorporation, State or Country Code</a></td>
<td class="text">DE<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityTaxIdentificationNumber', window );">Entity Tax Identification Number</a></td>
<td class="text">06-1456680<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine1', window );">Entity Address, Address Line One</a></td>
<td class="text">One Hamden Center<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressAddressLine2', window );">Entity Address, Address Line Two</a></td>
<td class="text">2319 Whitney Avenue, Suite 3B<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressCityOrTown', window );">Entity Address, City or Town</a></td>
<td class="text">Hamden<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressStateOrProvince', window );">Entity Address, State or Province</a></td>
<td class="text">CT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityAddressPostalZipCode', window );">Entity Address, Postal Zip Code</a></td>
<td class="text">06518<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_CityAreaCode', window );">City Area Code</a></td>
<td class="text">203<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_LocalPhoneNumber', window );">Local Phone Number</a></td>
<td class="text">859-6800<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_Security12bTitle', window );">Title of 12(b) Security</a></td>
<td class="text">Common stock, par value $0.01 per share<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_TradingSymbol', window );">Trading Symbol</a></td>
<td class="text">TACT<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_SecurityExchangeName', window );">Security Exchange Name</a></td>
<td class="text">NASDAQ<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCurrentReportingStatus', window );">Entity Current Reporting Status</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityInteractiveDataCurrent', window );">Entity Interactive Data Current</a></td>
<td class="text">Yes<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityFilerCategory', window );">Entity Filer Category</a></td>
<td class="text">Non-accelerated Filer<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntitySmallBusiness', window );">Entity Small Business</a></td>
<td class="text">true<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityEmergingGrowthCompany', window );">Entity Emerging Growth Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityShellCompany', window );">Entity Shell Company</a></td>
<td class="text">false<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">9,994,907<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_AmendmentFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the XBRL content amends previously-filed or accepted submission.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_AmendmentFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CityAreaCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Area code of city</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CityAreaCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CoverAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Cover page.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CoverAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_CurrentFiscalYearEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>End date of current fiscal year in the format --MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_CurrentFiscalYearEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gMonthDayItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalPeriodFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalPeriodFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fiscalPeriodItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentFiscalYearFocus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentFiscalYearFocus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:gYearItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentPeriodEndDate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentPeriodEndDate</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:dateItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentQuarterlyReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as an quarterly report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Form 10-Q<br> -Number 240<br> -Section 308<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentQuarterlyReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentTransitionReport">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true only for a form used as a transition report.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Forms 10-K, 10-Q, 20-F<br> -Number 240<br> -Section 13<br> -Subsection a-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentTransitionReport</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_DocumentType">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_DocumentType</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:submissionTypeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 1 such as Attn, Building Name, Street Name</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressAddressLine2">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Address Line 2 such as Street or Suite number</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressAddressLine2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressCityOrTown">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the City or Town</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressCityOrTown</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressPostalZipCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Code for the postal or zip code</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressPostalZipCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityAddressStateOrProvince">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the state or province.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityAddressStateOrProvince</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:stateOrProvinceItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCentralIndexKey">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCentralIndexKey</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:centralIndexKeyItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityCurrentReportingStatus">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityCurrentReportingStatus</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityEmergingGrowthCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate if registrant meets the emerging growth company criteria.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityEmergingGrowthCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFileNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFileNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:fileNumberItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityFilerCategory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityFilerCategory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:filerCategoryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityIncorporationStateCountryCode">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Two-character EDGAR code representing the state or country of incorporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityIncorporationStateCountryCode</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarStateCountryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityInteractiveDataCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-T<br> -Number 232<br> -Section 405<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityInteractiveDataCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:yesNoItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityRegistrantName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityRegistrantName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityShellCompany">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityShellCompany</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntitySmallBusiness">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Indicates that the company is a Smaller Reporting Company (SRC).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntitySmallBusiness</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_EntityTaxIdentificationNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_EntityTaxIdentificationNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:employerIdItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_LocalPhoneNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Local phone number for entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_LocalPhoneNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:normalizedStringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_Security12bTitle">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Title of a 12(b) registered security.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection b<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_Security12bTitle</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:securityTitleItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_SecurityExchangeName">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Name of the Exchange on which a security is registered.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Exchange Act<br> -Number 240<br> -Section 12<br> -Subsection d1-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_SecurityExchangeName</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:edgarExchangeCodeItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_dei_TradingSymbol">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Trading symbol of an instrument as listed on an exchange.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">dei_TradingSymbol</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>dei_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dei:tradingSymbolItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<FILENAME>R2.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198277511200">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashAndCashEquivalentsAtCarryingValue', window );">Cash and cash equivalents</a></td>
<td class="nump">$ 10,631<span></span>
</td>
<td class="nump">$ 12,321<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsReceivableNetCurrent', window );">Accounts receivable, net of allowance for expected credit losses of $668 and $768</a></td>
<td class="nump">7,780<span></span>
</td>
<td class="nump">9,824<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">19,171<span></span>
</td>
<td class="nump">17,759<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="nump">352<span></span>
</td>
<td class="nump">322<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsCurrent', window );">Other current assets</a></td>
<td class="nump">931<span></span>
</td>
<td class="nump">773<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrent', window );">Total current assets</a></td>
<td class="nump">38,865<span></span>
</td>
<td class="nump">40,999<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PropertyPlantAndEquipmentNet', window );">Fixed assets, net of accumulated depreciation of $18,947 and $18,646</a></td>
<td class="nump">2,187<span></span>
</td>
<td class="nump">2,421<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseRightOfUseAsset', window );">Right-of-use assets</a></td>
<td class="nump">1,371<span></span>
</td>
<td class="nump">1,602<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Goodwill', window );">Goodwill</a></td>
<td class="nump">2,621<span></span>
</td>
<td class="nump">2,621<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxAssetsNet', window );">Deferred tax assets</a></td>
<td class="nump">6,691<span></span>
</td>
<td class="nump">6,304<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IntangibleAssetsNetExcludingGoodwill', window );">Intangible assets, net of accumulated amortization of $1,556 and $1,518</a></td>
<td class="nump">50<span></span>
</td>
<td class="nump">88<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherAssetsNoncurrent', window );">Other assets</a></td>
<td class="nump">133<span></span>
</td>
<td class="nump">163<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsNoncurrent', window );">Total noncurrent assets</a></td>
<td class="nump">13,053<span></span>
</td>
<td class="nump">13,199<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Assets', window );">Total assets</a></td>
<td class="nump">51,918<span></span>
</td>
<td class="nump">54,198<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrentAbstract', window );"><strong>Current liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LinesOfCreditCurrent', window );">Revolving loan payable</a></td>
<td class="nump">2,250<span></span>
</td>
<td class="nump">2,250<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountsPayableCurrent', window );">Accounts payable</a></td>
<td class="nump">4,226<span></span>
</td>
<td class="nump">4,431<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccruedLiabilitiesCurrent', window );">Accrued liabilities</a></td>
<td class="nump">4,126<span></span>
</td>
<td class="nump">4,947<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityCurrent', window );">Lease liabilities</a></td>
<td class="nump">941<span></span>
</td>
<td class="nump">929<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue</a></td>
<td class="nump">925<span></span>
</td>
<td class="nump">1,079<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesCurrent', window );">Total current liabilities</a></td>
<td class="nump">12,468<span></span>
</td>
<td class="nump">13,636<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, net of current portion</a></td>
<td class="nump">196<span></span>
</td>
<td class="nump">209<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilityNoncurrent', window );">Lease liabilities, net of current portion</a></td>
<td class="nump">468<span></span>
</td>
<td class="nump">720<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherLiabilitiesNoncurrent', window );">Other liabilities</a></td>
<td class="nump">215<span></span>
</td>
<td class="nump">219<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesNoncurrent', window );">Total noncurrent liabilities</a></td>
<td class="nump">879<span></span>
</td>
<td class="nump">1,148<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_Liabilities', window );">Total liabilities</a></td>
<td class="nump">13,347<span></span>
</td>
<td class="nump">14,784<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommitmentsAndContingencies', window );">Commitments and contingencies (see Notes 5 and 7)</a></td>
<td class="text"> <span></span>
</td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockValue', window );">Common stock, $0.01 par value, 20,000,000 shares authorized; 14,039,749 and 14,003,653 shares issued, respectively; 9,994,907 and 9,958,811 shares outstanding, respectively</a></td>
<td class="nump">140<span></span>
</td>
<td class="nump">140<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdditionalPaidInCapitalCommonStock', window );">Additional paid-in capital</a></td>
<td class="nump">57,249<span></span>
</td>
<td class="nump">57,055<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RetainedEarningsAccumulatedDeficit', window );">Retained earnings</a></td>
<td class="nump">13,342<span></span>
</td>
<td class="nump">14,378<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax', window );">Accumulated other comprehensive loss, net of tax</a></td>
<td class="num">(50)<span></span>
</td>
<td class="num">(49)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockValue', window );">Treasury stock, at cost (4,044,842 shares)</a></td>
<td class="num">(32,110)<span></span>
</td>
<td class="num">(32,110)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Total shareholders' equity</a></td>
<td class="nump">38,571<span></span>
</td>
<td class="nump">39,414<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LiabilitiesAndStockholdersEquity', window );">Total liabilities and shareholders' equity</a></td>
<td class="nump">$ 51,918<span></span>
</td>
<td class="nump">$ 54,198<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsPayableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsPayableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountsReceivableNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481990/310-10-45-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountsReceivableNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccruedLiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.20)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccruedLiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14A<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-11<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(ii)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-14<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdditionalPaidInCapitalCommonStock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdditionalPaidInCapitalCommonStock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Assets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(12))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 23: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 26: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashAndCashEquivalentsAtCarryingValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashAndCashEquivalentsAtCarryingValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommitmentsAndContingencies">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 210<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03.17)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.25)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommitmentsAndContingencies</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxAssetsNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-4<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482525/740-10-45-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxAssetsNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Goodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482548/350-20-55-24<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482598/350-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 350<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482573/350-20-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(10)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsNetExcludingGoodwill">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 50<br> -Paragraph 2<br> -Subparagraph ((a)(1),(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482686/350-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IntangibleAssetsNetExcludingGoodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Liabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19-26)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Liabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesAndStockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(32))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesAndStockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 7: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-5<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.21)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation due after one year or beyond the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481231/810-10-45-25<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 810<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (bb)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481203/810-10-50-3<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 18: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 19: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481404/852-10-50-7<br><br>Reference 20: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 21: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 22: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 23: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 201.5-02(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LinesOfCreditCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(13))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LinesOfCreditCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseRightOfUseAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's right to use underlying asset under operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseRightOfUseAsset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherAssetsNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherLiabilitiesNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.24)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherLiabilitiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483032/340-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 340<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 05<br> -Paragraph 5<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482955/340-10-05-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PropertyPlantAndEquipmentNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -SubTopic 10<br> -Topic 360<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 360<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480842/942-360-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PropertyPlantAndEquipmentNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RetainedEarningsAccumulatedDeficit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated undistributed earnings (deficit).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (g)(2)(i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 2<br> -Subparagraph (h)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480016/944-40-65-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-11<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(23)(a)(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(17))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30)(a)(3))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481520/505-30-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.29,30)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<FILENAME>R3.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198277493792">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AssetsCurrentAbstract', window );"><strong>Current assets:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent', window );">Allowance for expected credit losses</a></td>
<td class="nump">$ 668<span></span>
</td>
<td class="nump">$ 768<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment', window );">Fixed assets, accumulated depreciation</a></td>
<td class="nump">18,947<span></span>
</td>
<td class="nump">18,646<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization', window );">Intangible assets, accumulated amortization</a></td>
<td class="nump">$ 1,556<span></span>
</td>
<td class="nump">$ 1,518<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquityAbstract', window );"><strong>Shareholders' equity:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockParOrStatedValuePerShare', window );">Common stock, par value (in dollars per share)</a></td>
<td class="nump">$ 0.01<span></span>
</td>
<td class="nump">$ 0.01<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesAuthorized', window );">Common stock, shares authorized (in shares)</a></td>
<td class="nump">20,000,000<span></span>
</td>
<td class="nump">20,000,000<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Common stock, shares issued (in shares)</a></td>
<td class="nump">14,039,749<span></span>
</td>
<td class="nump">14,003,653<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CommonStockSharesOutstanding', window );">Common stock, shares outstanding (in shares)</a></td>
<td class="nump">9,994,907<span></span>
</td>
<td class="nump">9,958,811<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_TreasuryStockCommonShares', window );">Treasury stock (in shares)</a></td>
<td class="nump">4,044,842<span></span>
</td>
<td class="nump">4,044,842<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(8)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(14))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of allowance for credit loss on accounts receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 326<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479344/326-20-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481962/310-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrentAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AssetsCurrentAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockParOrStatedValuePerShare">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Face amount or stated value per share of common stock.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockParOrStatedValuePerShare</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesAuthorized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The maximum number of common shares permitted to be issued by an entity's charter and bylaws.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesAuthorized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesIssued">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesIssued</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CommonStockSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(16)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CommonStockSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 350<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482665/350-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_TreasuryStockCommonShares">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of previously issued common shares repurchased by the issuing entity and held in treasury.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 505<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481549/505-30-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_TreasuryStockCommonShares</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>15
<FILENAME>R4.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198276479568">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeStatementAbstract', window );"><strong>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 10,687<span></span>
</td>
<td class="nump">$ 22,270<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CostOfRevenue', window );">Cost of sales</a></td>
<td class="nump">5,063<span></span>
</td>
<td class="nump">10,015<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GrossProfit', window );">Gross profit</a></td>
<td class="nump">5,624<span></span>
</td>
<td class="nump">12,255<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Operating expenses:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ResearchAndDevelopmentExpense', window );">Engineering, design and product development</a></td>
<td class="nump">1,966<span></span>
</td>
<td class="nump">2,269<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SellingAndMarketingExpense', window );">Selling and marketing</a></td>
<td class="nump">2,083<span></span>
</td>
<td class="nump">2,757<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_GeneralAndAdministrativeExpense', window );">General and administrative</a></td>
<td class="nump">2,876<span></span>
</td>
<td class="nump">3,416<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating expenses</a></td>
<td class="nump">6,925<span></span>
</td>
<td class="nump">8,442<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingIncomeLoss', window );">Operating (loss) income</a></td>
<td class="num">(1,301)<span></span>
</td>
<td class="nump">3,813<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpenseAbstract', window );"><strong>Interest and other (expense) income:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InterestIncomeExpenseNonoperatingNet', window );">Interest, net</a></td>
<td class="nump">48<span></span>
</td>
<td class="num">(66)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other, net</a></td>
<td class="num">(60)<span></span>
</td>
<td class="nump">21<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NonoperatingIncomeExpense', window );">Interest and other income (expense)</a></td>
<td class="num">(12)<span></span>
</td>
<td class="num">(45)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest', window );">(Loss) income before income taxes</a></td>
<td class="num">(1,313)<span></span>
</td>
<td class="nump">3,768<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (benefit) expense</a></td>
<td class="num">(277)<span></span>
</td>
<td class="nump">629<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="num">$ (1,036)<span></span>
</td>
<td class="nump">$ 3,139<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Net (loss) income per common share:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (0.1)<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="num">$ (0.1)<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract', window );"><strong>Shares used in per-share calculations:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic (in shares)</a></td>
<td class="nump">9,972<span></span>
</td>
<td class="nump">9,930<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted (in shares)</a></td>
<td class="nump">9,972<span></span>
</td>
<td class="nump">10,043<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CostOfRevenue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate cost of goods produced and sold and services rendered during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CostOfRevenue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GeneralAndAdministrativeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(2)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GrossProfit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 6: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 17: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 19: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1,2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GrossProfit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 5: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 235<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-05(b)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479557/942-235-S99-1<br><br>Reference 8: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -SubTopic 20<br> -Topic 940<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481913/940-20-25-1<br><br>Reference 9: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(10))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 10: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(15))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeStatementAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeStatementAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InterestIncomeExpenseNonoperatingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net amount of nonoperating interest income (expense).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InterestIncomeExpenseNonoperatingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NonoperatingIncomeExpenseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NonoperatingIncomeExpenseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The net result for the period of deducting operating expenses from operating revenues.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 4: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherNonoperatingIncomeExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of income (expense) related to nonoperating activities, classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.9)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 730<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482916/730-10-50-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 912<br> -SubTopic 730<br> -Name Accounting Standards Codification<br> -Section 25<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482517/912-730-25-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 985<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481283/985-20-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ResearchAndDevelopmentExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SellingAndMarketingExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The aggregate total amount of expenses directly related to the marketing or selling of products or services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingAndMarketingExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>16
<FILENAME>R5.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198277510656">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract', window );"><strong>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="num">$ (1,036)<span></span>
</td>
<td class="nump">$ 3,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment, net of tax</a></td>
<td class="num">(1)<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ComprehensiveIncomeNetOfTax', window );">Comprehensive (loss) income</a></td>
<td class="num">$ (1,037)<span></span>
</td>
<td class="nump">$ 3,141<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(24))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(26))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ComprehensiveIncomeNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>17
<FILENAME>R6.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198269960800">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Cash flows from operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="num">$ (1,036)<span></span>
</td>
<td class="nump">$ 3,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract', window );"><strong>Adjustments to reconcile net (loss) income to net cash used in operating activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ShareBasedCompensation', window );">Share-based compensation expense</a></td>
<td class="nump">265<span></span>
</td>
<td class="nump">278<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DepreciationAndAmortization', window );">Depreciation and amortization</a></td>
<td class="nump">395<span></span>
</td>
<td class="nump">352<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxExpenseBenefit', window );">Deferred income taxes</a></td>
<td class="num">(386)<span></span>
</td>
<td class="nump">501<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ForeignCurrencyTransactionGainLossUnrealized', window );">Unrealized foreign currency transaction losses</a></td>
<td class="nump">62<span></span>
</td>
<td class="nump">21<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract', window );"><strong>Changes in operating assets and liabilities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="nump">2,029<span></span>
</td>
<td class="num">(3,044)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherReceivables', window );">Employee retention credit receivable</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">1,500<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(1,440)<span></span>
</td>
<td class="num">(351)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidTaxes', window );">Prepaid income taxes</a></td>
<td class="num">(30)<span></span>
</td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets', window );">Other current and long-term assets</a></td>
<td class="num">(139)<span></span>
</td>
<td class="num">(175)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsPayable', window );">Accounts payable</a></td>
<td class="num">(214)<span></span>
</td>
<td class="num">(2,846)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities', window );">Accrued liabilities and other liabilities</a></td>
<td class="num">(996)<span></span>
</td>
<td class="num">(132)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInOperatingActivities', window );">Net cash used in operating activities</a></td>
<td class="num">(1,490)<span></span>
</td>
<td class="num">(757)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract', window );"><strong>Cash flows from investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment', window );">Capital expenditures</a></td>
<td class="num">(106)<span></span>
</td>
<td class="num">(378)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash used in investing activities</a></td>
<td class="num">(106)<span></span>
</td>
<td class="num">(378)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract', window );"><strong>Cash flows from financing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation', window );">Withholding taxes paid on stock issuances</a></td>
<td class="num">(71)<span></span>
</td>
<td class="num">(86)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInFinancingActivities', window );">Net cash used in financing activities</a></td>
<td class="num">(71)<span></span>
</td>
<td class="num">(86)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Effect of exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(23)<span></span>
</td>
<td class="num">(81)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect', window );">Decrease in cash and cash equivalents</a></td>
<td class="num">(1,690)<span></span>
</td>
<td class="num">(1,302)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, beginning of period</a></td>
<td class="nump">12,321<span></span>
</td>
<td class="nump">7,946<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents', window );">Cash and cash equivalents, end of period</a></td>
<td class="nump">10,631<span></span>
</td>
<td class="nump">6,644<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract', window );"><strong>Supplemental schedule of non-cash investing activities:</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid', window );">Non-cash capital expenditure items</a></td>
<td class="nump">$ 31<span></span>
</td>
<td class="nump">$ 25<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CapitalExpendituresIncurredButNotYetPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Future cash outflow to pay for purchases of fixed assets that have occurred.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-4<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-3<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CapitalExpendituresIncurredButNotYetPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482913/230-10-50-8<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -SubTopic 230<br> -Topic 830<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredIncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(1)(Note 1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.Fact.1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-9<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredIncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DepreciationAndAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 360<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482099/360-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DepreciationAndAmortization</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 830<br> -SubTopic 230<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481877/830-230-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ForeignCurrencyTransactionGainLossUnrealized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before tax, of unrealized gain (loss) from foreign currency transaction.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 6<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-6<br><br>Reference 3: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(7)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 4: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481956/830-20-45-1<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 830<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481926/830-20-50-1<br><br>Reference 6: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ForeignCurrencyTransactionGainLossUnrealized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsPayable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsPayable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in accrued expenses, and obligations classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInInventories">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInInventories</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOperatingCapitalAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOperatingCapitalAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherOperatingAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in operating assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherOperatingAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInOtherReceivables">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) in receivables classified as other.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInOtherReceivables</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInPrepaidTaxes">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase (decrease) of consideration paid in advance for income and other taxes that provide economic benefits in future periods.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInPrepaidTaxes</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 24<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-24<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 25<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-25<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivities</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NoncashInvestingAndFinancingItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NoncashInvestingAndFinancingItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 15<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-15<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 13<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_PaymentsToAcquirePropertyPlantAndEquipment</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of noncash expense for share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 230<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>18
<FILENAME>R7.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198276618864">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th"><div>Common Stock [Member]</div></th>
<th class="th"><div>Additional Paid-in Capital [Member]</div></th>
<th class="th"><div>Retained Earnings [Member]</div></th>
<th class="th"><div>Treasury Stock [Member]</div></th>
<th class="th"><div>Accumulated Other Comprehensive Loss [Member]</div></th>
<th class="th"><div>Total</div></th>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2022</a></td>
<td class="nump">$ 139<span></span>
</td>
<td class="nump">$ 56,282<span></span>
</td>
<td class="nump">$ 9,630<span></span>
</td>
<td class="num">$ (32,110)<span></span>
</td>
<td class="num">$ (79)<span></span>
</td>
<td class="nump">$ 33,862<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock from restricted stock units</a></td>
<td class="nump">1<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">278<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited', window );">Relinquishment of stock awards to pay for withholding taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(86)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,139<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2<span></span>
</td>
<td class="nump">2<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2023</a></td>
<td class="nump">140<span></span>
</td>
<td class="nump">56,474<span></span>
</td>
<td class="nump">12,769<span></span>
</td>
<td class="num">(32,110)<span></span>
</td>
<td class="num">(77)<span></span>
</td>
<td class="nump">$ 37,196<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockTransactionsParentheticalDisclosuresAbstract', window );"><strong>Supplemental share information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of shares from stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">54<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Relinquishment of stock awards to pay withholding taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Beginning balance at Dec. 31, 2023</a></td>
<td class="nump">140<span></span>
</td>
<td class="nump">57,055<span></span>
</td>
<td class="nump">14,378<span></span>
</td>
<td class="num">(32,110)<span></span>
</td>
<td class="num">(49)<span></span>
</td>
<td class="nump">$ 39,414<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward', window );"><strong>Increase (Decrease) in Stockholders' Equity [Roll Forward]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures', window );">Issuance of common stock from restricted stock units</a></td>
<td class="nump">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Share-based compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">265<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited', window );">Relinquishment of stock awards to pay for withholding taxes</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(71)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,036)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1,036)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment, net of tax</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(1)<span></span>
</td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockholdersEquity', window );">Ending balance at Mar. 31, 2024</a></td>
<td class="nump">$ 140<span></span>
</td>
<td class="nump">$ 57,249<span></span>
</td>
<td class="nump">$ 13,342<span></span>
</td>
<td class="num">$ (32,110)<span></span>
</td>
<td class="num">$ (50)<span></span>
</td>
<td class="nump">$ 38,571<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockTransactionsParentheticalDisclosuresAbstract', window );"><strong>Supplemental share information</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Issuance of shares from stock awards (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">47<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation', window );">Relinquishment of stock awards to pay withholding taxes (in shares)</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">11<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 35<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480483/718-10-35-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-13<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 20<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481089/718-20-55-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncreaseDecreaseInStockholdersEquityRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 220<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-10A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of forfeited shares granted under share-based payment arrangement. Excludes employee stock ownership plan (ESOP).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph c(2)<br> -SubTopic 10<br> -Topic 718<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(1)(iv)(02)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480429/718-10-50-2<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(28))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br><br>Reference 5: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -SubTopic 10<br> -Topic 505<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481112/505-10-50-2<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 505<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.3-04)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480008/505-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockTransactionsParentheticalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockTransactionsParentheticalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-12<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-04(19))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.6-05(4))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479617/946-210-S99-2<br><br>Reference 5: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(4)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(7))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 8: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 10: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 11: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(29))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 12: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(31))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 13: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(30))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 14: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 310<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 4.E)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480418/310-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_StockholdersEquity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>19
<FILENAME>R8.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198363584576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of presentation<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Basis of Presentation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock', window );">Basis of Presentation</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1. Basis of presentation</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">The </span>accompanying unaudited financial statements of TransAct Technologies Incorporated (&#8220;TransAct&#8221;,
      the &#8220;Company&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, or &#8220;our&#8221;) have been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;U.S. GAAP&#8221;) for interim financial information.&#160; Accordingly, they do not include all of the
      information and footnotes required by U.S. GAAP to be included in full year financial statements.&#160; In the opinion of management, all adjustments considered necessary for a fair statement of the results for the periods presented have been included and
      are of a normal recurring nature<span style="font-size: 10pt; font-family: 'Times New Roman';">.&#160; The </span>December 31, 2023<span style="font-size: 10pt; font-family: 'Times New Roman';"> Condensed Consolidated Balance Sheet data was derived from audited financial statements, but does not include all disclosures required by U.S. GAAP.&#160; These interim financial statements
        should be read in conjunction with the audited financial statements in our Annual Report on Form 10-K for the year ended </span>December 31, 2023<span style="font-size: 10pt; font-family: 'Times New Roman';"> (the &#8220;2023 Form 10-K&#8221;).</span></div>

<div style="text-align: justify;"><br/>
      <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> The results of operations for the three months ended&#160;March 31, 2024 are
        not necessarily indicative of the results to be expected for the full year ending December 31, 2024. </span> </div>

<div><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> </span></div>

<div><br/>
    </div>

<div><span style="background-color: rgb(255, 255, 255); font-weight: bold; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"> Current Business Trends</span>
    <br/></div>

<div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman'; font-size: 10pt;">After strong demand during most of 2023 due in part to our primary competitor&#8217;s struggle to deliver products in the face of
      supply chain constraints, in late 2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain concerns advised us that they would temporarily
      reduce orders until their stock normalized. This slowdown impacted our results in the fourth quarter of 2023 and the first quarter of 2024, and we expect this trend to continue to impact results during 2024 until these customers are able to sell
      their on-hand inventory. Further, our primary competitor in the casino and gaming market has resumed supplying product and continued to increase volume at what we believe is full capacity, which has resulted in the beginning of downward pricing
      pressure in that market and could exacerbate the demand slowdown, which has negatively impacted our worldwide casino and gaming sales. In addition, we have experienced cost increases as a result of current economic conditions, most of which we have
      been able to offset by increasing prices of our products.&#160; However, there can be no guarantee that we will be able to increase prices sufficiently to offset any future such cost increases that cannot be predicted, and we may be further impacted by
      supply chain disruptions, inflationary pressures and other global economic conditions that may affect the markets we serve and from which we source our supplies and parts.<br/>
      <br/>
      <span style="font-weight: normal; font-style: italic;">Balance Sheet, Cash Flow and Liquidity</span>. During the third quarter of 2023, we began a cost reduction initiative to reduce our overall level of operating expenses that included reducing
      employee headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering resources and other expenses, and to a lesser extent, certain general and administrative expenses. We saw the full impact of these
      actions in the first quarter of 2024 and expect they will result in approximately $3 million of annualized savings compared to the 2023
      levels, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts we have taken to bring expenses in line with our revenue
      and mitigate the impact of global economic conditions such as supply chain disruptions and inflation, and conditions in our markets will be sufficient or adequate, and we may be required to take additional measures, as the ultimate extent of the
      effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.</div>

<div><br/></div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial obligations over the 12 months following the date on
      which the Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q were issued, including consideration of the actions to manage expenses and liquidity, we believe that our net cash to be provided by operations
      combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations, capital spending, and working capital requirements and to comply with the
      financial covenants of our credit facility over at least 12 months following the date that the Condensed Consolidated Financial Statements were issued.</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Use of Assumptions and Estimates</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"> <br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Management&#8217;s belief that the Company will be able to fund its planned operations over the 12 months following the date on which the unaudited Condensed Consolidated
      Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, inflation, rising interest rates, capital expenditures and other operating costs. Though demand for our products at casinos
      has increased substantially post-pandemic, we cannot predict the ultimate impact of the current economic environment, including inflation, rising interest rates and supply chain disruptions on our customers, which may impact sales. We believe that we
      are positioned to withstand the impact of any potential future economic downturn and we would be able to take additional financial and operational actions to cut costs and/or increase liquidity.<br/>
      <br/>
      In addition, the presentation of the accompanying unaudited Condensed Consolidated Financial Statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of
      contingent assets and liabilities. Our estimates include those related to revenue recognition, accounts receivable, inventory obsolescence, goodwill and intangible assets, the valuation of deferred tax assets and liabilities, depreciable lives of
      equipment, share-based compensation and contingent liabilities. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates
      used. </div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 275<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//275/tableOfContent<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 205<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//205/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>20
<FILENAME>R9.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198370758848">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant accounting policies<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock', window );">Significant accounting policies</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2. Significant accounting policies</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">For a discussion of our significant accounting policies, see Note 2, <span style="font-style: italic;">Summary of significant accounting policies</span> within Part II,
      Item 8. &#8220;Financial Statements and Supplementary Data&#8221; in the 2023 Form 10-K.&#160; There have been no changes to our significant accounting policies since the 2023 Form 10-K.</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold; text-align: justify;">Recently issued accounting pronouncements:</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On November 27, 2023, the FASB issued ASU 2023-07, <span style="font-style: italic;">Segment Reporting (Topic 280)</span>.&#160; The amendments improve reportable segment
        disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure
        requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements must be applied retrospectively to all periods
        presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.<br/>
        <br/>
      </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On December 14, 2023, the FASB issued ASU 2023-09, <span style="font-style: italic;">Income Taxes (Topic 740)</span>: Improvements to Income Tax Disclosures.&#160;&#160; This
        ASU requires the use of consistent categories and greater disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure
        requirements can be applied either prospectively or retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on
        our Consolidated Financial Statements.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 235<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//235/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>21
<FILENAME>R10.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198363435024">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerTextBlock', window );">Revenue</a></td>
<td class="text">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">3. Revenue</div>

<div><br/>
    </div>

<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Disaggregation of revenue</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following tables disaggregate our revenue by market type, as we believe this best depicts how the nature, amount, timing and uncertainty of our revenue and cash
      flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td rowspan="1" style="vertical-align: bottom;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="22" style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="22" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="22" style="vertical-align: bottom;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,023</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">277</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,300</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,263</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">195</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,458</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">651</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">651</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,782</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,797</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,238</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">2,458</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">5,696</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">11,569</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">4,242</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">15,811</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">853</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">187</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,040</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">983</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">221</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,204</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">&#160;Total net sales</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">7,765</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">2,922</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">10,687</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">17,597</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">4,673</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">22,270</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div> <br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Contract balances</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior to the customer being invoiced.&#160;
      An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included within &#8220;Accounts receivable,
      net&#8221; and &#8220;Other assets&#8221; in the Condensed Consolidated Balance Sheets.&#160; <br/>
    </div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Contract liabilities consist of customer pre-payments and deferred revenue.&#160; Customer prepayments are reported as &#8220;Accrued liabilities&#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 are recognized as revenue when the performance obligation is complete.&#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 maintenance contracts and prepaid software
      subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&#160; For the three
      months ended March 31, 2024, we recognized revenue of $0.4 million related to our contract liabilities at December 31, 2023. <span style="font-size: 10pt; font-family: 'Times New Roman';"><span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;">Total net
        contract liabilities consisted of the following:</span></span></div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, current</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">155</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">145</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, net of current portion</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">103</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">120</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Customer pre-payments</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(123</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(155</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, current</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(925</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(1,079</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, net of current portion</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(196</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(209</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Total net contract liabilities</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(986</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(1,178</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>


</table>

<div>
    &#160;
    </div>

<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Remaining performance obligations</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&#160; As of March 31, 2024, the aggregate amount of transaction prices allocated to remaining performance obligations was $6.8 million.&#160; The Company expects to recognize revenue of $6.5
      million of its remaining performance obligations within the next 12 months following March 31, 2024, $0.2 million within the next <span style="-sec-ix-hidden:Fact_e46cad17a06c427da289ce1d6da56f8a">24 months</span> following March 31, 2024 and
      the <span style="-sec-ix-hidden:Fact_c5f09af54bef4c99999a6b08fbf79c8f">balance</span> of these remaining performance obligations recognized within the next <span style="-sec-ix-hidden:Fact_66b7f79e654845d4a0990d15264f888d">36 months</span> following March 31, 2024.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-9<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-15<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Subparagraph (e)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-12<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//606/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>22
<FILENAME>R11.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198274208640">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureTextBlock', window );">Inventories</a></td>
<td class="text">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">4. Inventories</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The components of inventories were:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Raw materials and purchased component parts</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">10,644</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">9,382</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Finished goods</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">8,527</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">8,377</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">19,171</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">17,759</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 330<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//330/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>23
<FILENAME>R12.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198363572688">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Borrowings<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtDisclosureTextBlock', window );">Borrowings</a></td>
<td class="text">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">5. <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Borrowings</span></div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold;">Credit Facility</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On March 13, 2020, <span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">we entered into<span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; text-indent: 0px; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"> the Loan and Security Agreement governing</span> a credit facility (the &#8220;Sien</span>a Credit Facility&#8221;) with Siena Lending Group
      LLC (the &#8220;Lender&#8221;).&#160; The Siena Credit Facility provides for a revolving credit line of up to $10.0 million and was originally scheduled to
      expire on March 13, 2023, prior to being extended, as discussed below. 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%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $245 thousand which were reported as &#8220;Other current assets&#8221; in current assets and &#8220;Other assets&#8221; in non-current assets in the Condensed Consolidated
      Balance Sheets. We also pay a fee of 0.50% on unused borrowings under the Siena Credit Facility. Borrowings under the Siena Credit
      Facility are secured by a lien on substantially all the assets of the Company. <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">Borrowings under the Siena Credit Facility are subject to a</span> </span>borrowing base based on 85% of eligible accounts receivable plus the lesser of (a) $5.0
      million and (b) 50% of eligible raw material and 60% of finished goods inventory. </div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur additional indebtedness and create other
      liens. On July 21, 2021, the Company entered into an amendment (&#8220;Siena Credit Facility Amendment No. 1&#8221;) to the Siena Credit Facility. Siena Credit Facility Amendment No. 1 changed the financial covenant under the Siena Credit Facility from a minimum
      EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750 thousand under
      the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ended July 31, 2021. From July 31, 2021 through March 31, 2024, we remained in compliance with our excess availability covenant. As of March 31, 2024, we had $2.3 million of outstanding borrowings under the Siena Credit Facility and $3.0 million of net borrowing capacity available under the Siena Credit Facility.</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On July 19, 2022, the Company and the Lender entered into Amendment No. 2 (&#8220;Siena Credit Facility Amendment No. 2&#8221;) to the Siena Credit Facility as amended by Siena
      Credit Facility Amendment No. 1.&#160; Also on July 19, 2022, the Company and the Lender entered into an Amended and Restated Fee Letter (the &#8220;Amended Fee Letter&#8221;) in connection with Siena Credit Facility Amendment No. 2. Siena Credit Facility Amendment
      No. 2 did not modify the aggregate amount of the revolving commitment or the interest rate applicable to the loans<span style="font-size: 10pt; font-family: 'Times New Roman';">.</span></div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The changes to the Siena Credit Facility provided for in Siena Credit Facility Amendment No. 2 include, among other things, the following:</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>

<div>
        <table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
                <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(i)</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">The extension of the maturity date from March 13, 2023 to March 13, 2025; and</div>
              </td>

  </tr>


</table>
      </div>

<div><br/>
      </div>

<div>
        <table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;">


  <tr>

    <td style="width: 36pt; vertical-align: top; text-align: right;">
                <div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;">(ii)</div>
              </td>

    <td style="width: auto; vertical-align: top;">
                <div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The termination of the existing blocked account control agreement and entry into a new &#8220;springing&#8221; deposit account control agreement,
                  permitting the Company to direct the use of funds in its deposit account until such time as (a) the sum of excess availability under the Siena Credit Facility as amended and unrestricted cash is less than $5 million for 3 consecutive
                  business days or (b) an event of default occurs and is continuing.</div>
              </td>

  </tr>


</table>
      </div>

<div style="display:none;"><br/></div>
<div style="text-align: justify; text-indent: -18pt; margin-left: 36pt;"><br/>
      </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">In addition, the Amended Fee Letter requires the Company, while it retains the ability to direct the use of funds in the deposit account, to maintain outstanding
      borrowings of at least $2,250,000 in principal amount. If the Company does not have the ability to direct the use of funds in the deposit
      account, then the Amended Fee Letter requires the Company to pay interest on at least $2,250,000 principal amount of loans, whether or not
      such amount of loans is actually outstanding.</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"> <br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On May 1, 2023, the Company and the Lender agreed to a letter amendment to the Loan and Security Agreement governing the Siena Credit Facility. <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">Prior to such amendment,</span> Section 7.1(m) of the Loan
        and Security Agreement governing the Siena Credit Facility required that any successor to the Company&#8217;s former Chief Executive Officer be reasonably acceptable to the Lender. This amendment confirmed that Mr. John Dillon, the Company&#8217;s current
        Chief Executive Officer, is an acceptable successor, and applied the same requirement to any future successor to Mr. Dillon <span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;">as Chief Executive Officer</span>.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 470<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//470/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (g)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (i)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1C<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1C<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1E<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1E<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1I<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1I<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>24
<FILENAME>R13.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198274295168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareTextBlock', window );">Earnings per share</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">6. Earnings per share</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following table sets forth the reconciliation of basic and diluted weighted average shares outstanding :</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td rowspan="1" style="vertical-align: bottom;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
            </div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands, except per-share data)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(1,036</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,139</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Shares:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">9,972</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">9,930</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">-</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">113</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">9,972</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">10,043</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income per common share:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(0.10</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">0.32</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(0.10</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">0.31</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options and restricted stock units, when the
      average market price of the common stock is lower than the exercise price of the related stock award during the period, as the inclusion of these stock awards in the computation of diluted earnings would be anti-dilutive. For the three months ended March 31, 2024, there were 89 thousand
      of potentially dilutive shares consisting of stock awards that were excluded from the calculation of earnings per diluted share.&#160; Furthermore, in&#160; periods when a net loss is reported, such as the three months ended March 31, 2024, basic and diluted
      net loss per common share are calculated using the same method.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for earnings per share.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//260/tableOfContent<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-2<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>25
<FILENAME>R14.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198370774576">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeasesTextBlock', window );">Leases</a></td>
<td class="text">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">7. Leases</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We account for leases in accordance with ASC Topic 842: <span style="font-style: italic;">Leases</span>.</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing leases. Our leases are included in
      &#8220;Right-of-use-assets&#8221; and &#8220;Lease liabilities&#8221; in our Condensed Consolidated Balance Sheets.&#160; Our leases have various lease terms, some of which include options to extend. Lease expense is recognized on a straight-line basis over the lease term.</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Operating lease expense for the three months ended March 31, 2024
      and 2023 was $282
      thousand and $237 thousand, respectively, and is reported as &#8220;Cost of sales&#8221;, &#8220;Engineering, design and product development expense&#8221;,
      &#8220;Selling and marketing expense&#8221;, and &#8220;General and administrative expense&#8221; in the Condensed Consolidated Statements of Operations. Operating lease expenses include short-term lease costs, which were immaterial during the periods presented.</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td rowspan="1" style="vertical-align: bottom;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
            </div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Operating cash outflows from leases</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">257</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">252</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes additional information related to our leases as of March 31, 2024 and December 31, 2023:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024<br/>
              </div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1.5</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1.7</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average discount rate</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">4.4</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">4.4</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities as of March 31, 2024 and December 31, 2023 were as follows (in thousands):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024<br/>
              </div>
            </div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><br/>
              </div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">727</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">985</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">2025</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">712</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">713</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">2026</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">22</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">22</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;">Total undiscounted lease payments</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1,461</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,720</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Less imputed interest</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">52</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">71</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;">Total lease liabilities</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1,409</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,649</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeasesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//842-20/tableOfContent<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeasesTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>26
<FILENAME>R15.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198363741792">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureTextBlock', window );">Income taxes</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">8. Income taxes</div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;">We recorded an income tax benefit in the first quarter of 2024 of $277 thousand at an
        effective tax rate of (21.1%) compared to an income tax expense in the first quarter of 2023 of $629 thousand at an effective tax rate of 16.7%.</span></div>

<div><br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">We are subject to U.S. federal income tax, as well as income tax in certain U.S. state and foreign
        jurisdictions.&#160; We have substantially concluded all U.S. federal, state and local income tax, and foreign tax regulatory examination matters through 2019.&#160; However, our federal tax returns for the years 2020 through 2023 remain open to examination.
        Various U.S. state and foreign tax jurisdiction tax years remain open to examination as well, but we believe that any additional assessment would be immaterial to the Condensed Consolidated Financial Statements. The Company maintains a valuation
        allowance against certain deferred tax assets where realization is not certain.</span></div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480990/946-20-50-13<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//740/tableOfContent<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 14<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-14<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 21<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-21<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 270<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482526/740-270-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 17<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-17<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.5.Q1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 11.C)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-2<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 30<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482603/740-30-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>27
<FILENAME>R16.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198370017632">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent events<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsAbstract', window );"><strong>Subsequent events [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SubsequentEventsTextBlock', window );">Subsequent events</a></td>
<td class="text">
<div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">9. Subsequent events</div>

<div><br/>
    </div>

<div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;">The Company has evaluated all events or transactions that occurred up to the date the Condensed Consolidated Financial Statements were available to be issued.&#160; Based
          upon this review, the Company did not identify any subsequent events that would have required adjustment or disclosure in the Condensed Consolidated Financial Statements.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -Name Accounting Standards Codification<br> -Publisher FASB<br> -URI https://asc.fasb.org//855/tableOfContent<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 855<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483399/855-10-50-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>28
<FILENAME>R17.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198363598272">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Insider Trading Arrangements<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_InsiderTradingArrLineItems', window );"><strong>Insider Trading Arrangements [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrAdoptedFlag', window );">Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrAdoptedFlag', window );">Non-Rule 10b5-1 Arrangement Adopted</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_Rule10b51ArrTrmntdFlag', window );">Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_ecd_NonRule10b51ArrTrmntdFlag', window );">Non-Rule 10b5-1 Arrangement Terminated</a></td>
<td class="text">false<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_InsiderTradingArrLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_InsiderTradingArrLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_NonRule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_NonRule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrAdoptedFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrAdoptedFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_ecd_Rule10b51ArrTrmntdFlag">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher SEC<br> -Name Regulation S-K<br> -Number 229<br> -Section 408<br> -Subsection a<br> -Paragraph 1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">ecd_Rule10b51ArrTrmntdFlag</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>ecd_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:booleanItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>29
<FILENAME>R18.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198364440608">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of presentation (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract', window );"><strong>Basis of Presentation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock', window );">Basis of Accounting</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"><span style="font-size: 10pt; font-family: 'Times New Roman';">The </span>accompanying unaudited financial statements of TransAct Technologies Incorporated (&#8220;TransAct&#8221;,
      the &#8220;Company&#8221;, &#8220;we&#8221;, &#8220;us&#8221;, or &#8220;our&#8221;) have been prepared in accordance with accounting principles generally accepted in the United States of America (&#8220;U.S. GAAP&#8221;) for interim financial information.&#160; Accordingly, they do not include all of the
      information and footnotes required by U.S. GAAP to be included in full year financial statements.&#160; In the opinion of management, all adjustments considered necessary for a fair statement of the results for the periods presented have been included and
      are of a normal recurring nature<span style="font-size: 10pt; font-family: 'Times New Roman';">.&#160; The </span>December 31, 2023<span style="font-size: 10pt; font-family: 'Times New Roman';"> Condensed Consolidated Balance Sheet data was derived from audited financial statements, but does not include all disclosures required by U.S. GAAP.&#160; These interim financial statements
        should be read in conjunction with the audited financial statements in our Annual Report on Form 10-K for the year ended </span>December 31, 2023<span style="font-size: 10pt; font-family: 'Times New Roman';"> (the &#8220;2023 Form 10-K&#8221;).</span></div>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_UseOfEstimates', window );">Use of Assumptions and Estimates</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Use of Assumptions and Estimates</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"> <br/>
    </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Management&#8217;s belief that the Company will be able to fund its planned operations over the 12 months following the date on which the unaudited Condensed Consolidated
      Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, inflation, rising interest rates, capital expenditures and other operating costs. Though demand for our products at casinos
      has increased substantially post-pandemic, we cannot predict the ultimate impact of the current economic environment, including inflation, rising interest rates and supply chain disruptions on our customers, which may impact sales. We believe that we
      are positioned to withstand the impact of any potential future economic downturn and we would be able to take additional financial and operational actions to cut costs and/or increase liquidity.<br/>
      <br/>
      In addition, the presentation of the accompanying unaudited Condensed Consolidated Financial Statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of
      contingent assets and liabilities. Our estimates include those related to revenue recognition, accounts receivable, inventory obsolescence, goodwill and intangible assets, the valuation of deferred tax assets and liabilities, depreciable lives of
      equipment, share-based compensation and contingent liabilities. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates
      used. </div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_BasisOfAccountingPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_BasisOfAccountingPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_UseOfEstimates">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-9<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-4<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -SubTopic 10<br> -Topic 275<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-12<br><br>Reference 7: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 275<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482861/275-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_UseOfEstimates</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>30
<FILENAME>R19.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198274068208">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AccountingPoliciesAbstract', window );"><strong>Significant accounting policies [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock', window );">Recently issued accounting pronouncements</a></td>
<td class="text">
<div style="font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold; text-align: justify;">Recently issued accounting pronouncements:</div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On November 27, 2023, the FASB issued ASU 2023-07, <span style="font-style: italic;">Segment Reporting (Topic 280)</span>.&#160; The amendments improve reportable segment
        disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure
        requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements must be applied retrospectively to all periods
        presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.<br/>
        <br/>
      </div>

<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">On December 14, 2023, the FASB issued ASU 2023-09, <span style="font-style: italic;">Income Taxes (Topic 740)</span>: Improvements to Income Tax Disclosures.&#160;&#160; This
        ASU requires the use of consistent categories and greater disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure
        requirements can be applied either prospectively or retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on
        our Consolidated Financial Statements.</div>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>31
<FILENAME>R20.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198368984480">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueTableTextBlock', window );">Disaggregation of Revenue</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following tables disaggregate our revenue by market type, as we believe this best depicts how the nature, amount, timing and uncertainty of our revenue and cash
      flows are affected by economic factors.&#160; Sales and usage-based taxes are excluded from revenues.</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td rowspan="1" style="vertical-align: bottom;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="22" style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="22" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="10" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="22" style="vertical-align: bottom;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">United States</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">International</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">Total</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Food service technology</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,023</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">277</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,300</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,263</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">195</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,458</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">POS automation</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">651</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">&#8211;</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">651</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,782</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">15</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,797</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Casino and gaming</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,238</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">2,458</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">5,696</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">11,569</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">4,242</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">15,811</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">TransAct Services Group</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">853</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">187</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,040</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">983</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">221</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,204</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">&#160;Total net sales</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">7,765</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">2,922</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">10,687</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">17,597</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">4,673</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">22,270</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock', window );">Net Contract Liabilities</a></td>
<td class="text"><span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;">Total net
        contract liabilities consisted of the following:</span>
<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, current</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">155</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">145</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Unbilled receivables, net of current portion</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">103</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">120</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Customer pre-payments</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(123</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(155</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, current</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(925</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(1,079</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Deferred revenue, net of current portion</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(196</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(209</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Total net contract liabilities</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">(986</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">)</div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">(1,178</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
          </td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>32
<FILENAME>R21.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198272601440">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock', window );">Inventories</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The components of inventories were:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Raw materials and purchased component parts</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">10,644</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">9,382</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Finished goods</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">8,527</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">8,377</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">19,171</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">17,759</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfInventoryCurrentTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(c))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 4: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483489/210-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfInventoryCurrentTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>33
<FILENAME>R22.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198363771744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock', window );">Earnings per Share</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following table sets forth the reconciliation of basic and diluted weighted average shares outstanding :</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td rowspan="1" style="vertical-align: bottom;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
            </div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;">2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;">(In thousands, except per-share data)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(1,036</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">3,139</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Shares:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Basic:&#160; Weighted average common shares outstanding</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">9,972</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">9,930</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Add:&#160; Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">-</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">113</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;">Diluted:&#160; Weighted average common and common equivalent shares outstanding</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">9,972</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">10,043</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Net (loss) income per common share:</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Basic</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(0.10</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">0.32</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;">Diluted</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">(0.10</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div style="font-weight: normal;">
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">)</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">0.31</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>34
<FILENAME>R23.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198363629232">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Tables)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
</tr>
<tr><th class="th"><div>Mar. 31, 2024</div></th></tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock', window );">Cash Flows for Operating Leases</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td rowspan="1" style="vertical-align: bottom;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">Three Months Ended</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31,</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2024</div>
            </div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Operating cash outflows from leases</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">257</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">252</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock', window );">Additional Information Related to Leases</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The following summarizes additional information related to our leases as of March 31, 2024 and December 31, 2023:</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"> </td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024<br/>
              </div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average remaining lease term (in years)</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1.5</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1.7</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">Weighted average discount rate</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">4.4</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">%</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">4.4</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">%</div>
            </div>
          </td>

  </tr>


</table>
<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock', window );">Maturity of Operating Lease Liabilities</a></td>
<td class="text">
<div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">The maturity of the Company&#8217;s operating lease liabilities as of March 31, 2024 and December 31, 2023 were as follows (in thousands):</div>

<div><br/>
    </div>

<table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;">


  <tr>

    <td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"></td>

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">March 31, 2024<br/>
              </div>
            </div>
          </td>

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

    <td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom">
            <div>
              <div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">December 31, 2023</div>
            </div>
          </td>

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

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;">2024</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"><br/>
              </div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">727</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">985</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">2025</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">712</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">713</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">2026</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">22</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">22</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;">Total undiscounted lease payments</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1,461</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,720</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;">Less imputed interest</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">52</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">&#160;</td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt;">71</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>

  <tr>

    <td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom">
            <div>
              <div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;">Total lease liabilities</div>
            </div>
          </td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">$</div>
            </div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div>
              <div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;">1,409</div>
            </div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom">&#160;</td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">$</div>
          </td>

    <td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom">
            <div style="font-family: 'Times New Roman'; font-size: 10pt;">1,649</div>
          </td>

    <td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom">&#160;</td>

  </tr>


</table>
<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of information related to lessee's operating leases, including weighted average lease term and discount rate.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of supplemental information for the statement of cash flows related to operating leases.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:textBlockItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>35
<FILENAME>R24.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198276458864">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Basis of presentation (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1">12 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2024</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Basis of presentation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating expenses</a></td>
<td class="nump">$ 6,925<span></span>
</td>
<td class="nump">$ 8,442<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember', window );">Forecast [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpensesAbstract', window );"><strong>Basis of presentation [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingExpenses', window );">Operating expenses</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 3,000<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpenses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpenses</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingExpensesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingExpensesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementScenarioAxis=srt_ScenarioForecastMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementScenarioAxis=srt_ScenarioForecastMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>36
<FILENAME>R25.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198270368352">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue, Disaggregation of Revenue (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 10,687<span></span>
</td>
<td class="nump">$ 22,270<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=country_US', window );">United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">7,765<span></span>
</td>
<td class="nump">17,597<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_StatementGeographicalAxis=tact_InternationalMember', window );">International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">2,922<span></span>
</td>
<td class="nump">4,673<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">3,300<span></span>
</td>
<td class="nump">3,458<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">3,023<span></span>
</td>
<td class="nump">3,263<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember', window );">Food Service Technology [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">277<span></span>
</td>
<td class="nump">195<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember', window );">POS Automation [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">651<span></span>
</td>
<td class="nump">1,797<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember', window );">POS Automation [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">651<span></span>
</td>
<td class="nump">1,782<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember', window );">POS Automation [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">15<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">5,696<span></span>
</td>
<td class="nump">15,811<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">3,238<span></span>
</td>
<td class="nump">11,569<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_CasinoAndGamingMember', window );">Casino and Gaming [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">2,458<span></span>
</td>
<td class="nump">4,242<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">1,040<span></span>
</td>
<td class="nump">1,204<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member] | United States [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">853<span></span>
</td>
<td class="nump">983<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_srt_ProductOrServiceAxis=tact_TransactServicesGroupMember', window );">TransAct Services Group [Member] | International [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DisaggregationOfRevenueAbstract', window );"><strong>Disaggregation of revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax', window );">Net sales</a></td>
<td class="nump">$ 187<span></span>
</td>
<td class="nump">$ 221<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DisaggregationOfRevenueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DisaggregationOfRevenueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 924<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 11.L)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479941/924-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 5<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-5<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 42<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-42<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 40<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-40<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 41<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-41<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=country_US">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=country_US</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_StatementGeographicalAxis=tact_InternationalMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_StatementGeographicalAxis=tact_InternationalMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tact_FoodServiceTechnologyMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tact_PosAutomationAndBankingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tact_CasinoAndGamingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tact_CasinoAndGamingMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_ProductOrServiceAxis=tact_TransactServicesGroupMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_ProductOrServiceAxis=tact_TransactServicesGroupMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>37
<FILENAME>R26.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198277416624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Revenue, Contract Balances (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueFromContractWithCustomerAbstract', window );"><strong>Revenue [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_ContractWithCustomerRevenueRecognized', window );">Revenue recognized</a></td>
<td class="nump">$ 400<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityAbstract', window );"><strong>Contract liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetCurrent', window );">Unbilled receivables, current</a></td>
<td class="nump">155<span></span>
</td>
<td class="nump">$ 145<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerAssetNetNoncurrent', window );">Unbilled receivables, net of current portion</a></td>
<td class="nump">103<span></span>
</td>
<td class="nump">120<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent', window );">Customer pre-payments</a></td>
<td class="num">(123)<span></span>
</td>
<td class="num">(155)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityCurrent', window );">Deferred revenue, current</a></td>
<td class="num">(925)<span></span>
</td>
<td class="num">(1,079)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_ContractWithCustomerLiabilityNoncurrent', window );">Deferred revenue, net of current portion</a></td>
<td class="num">(196)<span></span>
</td>
<td class="num">(209)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_ContractWithCustomerAssetLiabilityNet', window );">Total net contract liabilities</a></td>
<td class="num">$ (986)<span></span>
</td>
<td class="num">$ (1,178)<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ContractWithCustomerAssetLiabilityNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ContractWithCustomerAssetLiabilityNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer related to customer prepayments for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_ContractWithCustomerRevenueRecognized">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of revenue recognized related to obligation to transfer good or service to customer for which consideration from customer has been received or is due.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_ContractWithCustomerRevenueRecognized</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerAssetNetNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerAssetNetNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityCurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ContractWithCustomerLiabilityNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-8<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 606<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479837/606-10-45-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ContractWithCustomerLiabilityNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueFromContractWithCustomerAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueFromContractWithCustomerAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>38
<FILENAME>R27.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198277341440">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Revenue, Remaining Performance Obligations (Details)<br> $ in Millions</strong></div></th>
<th class="th">
<div>Mar. 31, 2024 </div>
<div>USD ($)</div>
</th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 6.8<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-04-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-04-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 6.5<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction, period</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-04-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-04-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="nump">$ 0.2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction, period</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-04-01', window );">Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2026-04-01</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenuePerformanceObligationAbstract', window );"><strong>Remaining performance obligations [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligation', window );">Remaining performance obligations</a></td>
<td class="text"> <span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1', window );">Expected timing of satisfaction, period</a></td>
<td class="text">12 months<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenuePerformanceObligationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenuePerformanceObligationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligation">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of transaction price allocated to performance obligation that has not been recognized as revenue.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (a)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligation</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 13<br> -Subparagraph (b)(1)<br> -SubTopic 10<br> -Topic 606<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479806/606-10-50-13<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-04-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2024-04-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-04-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2025-04-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-04-01">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis=2026-04-01</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>39
<FILENAME>R28.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198274222592">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Inventories (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryDisclosureAbstract', window );"><strong>Inventories [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves', window );">Raw materials and purchased component parts</a></td>
<td class="nump">$ 10,644<span></span>
</td>
<td class="nump">$ 9,382<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryFinishedGoodsNetOfReserves', window );">Finished goods</a></td>
<td class="nump">8,527<span></span>
</td>
<td class="nump">8,377<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">$ 19,171<span></span>
</td>
<td class="nump">$ 17,759<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryFinishedGoodsNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6)(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 852<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481372/852-10-55-10<br><br>Reference 2: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483467/210-10-45-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Aggregated amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed. This amount is net of valuation reserves and adjustments.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 210<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(6))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 330<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SAB Topic 5.BB)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480581/330-10-S99-2<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>40
<FILENAME>R29.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198270174896">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Borrowings (Details) - Sienna Credit Facility [Member] - USD ($)<br></strong></div></th>
<th class="th" colspan="1">3 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Jul. 21, 2021</div></th>
<th class="th"><div>Mar. 13, 2020</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity', window );">Maximum borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 10,000,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentInterestRateStatedPercentage', window );">Interest rate</a></td>
<td class="nump">6.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DeferredFinanceCostsGross', window );">Deferred financing costs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 245,000<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage', window );">Percentage fee on unused borrowings</a></td>
<td class="nump">0.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable', window );">Percentage of eligible accounts receivable</a></td>
<td class="nump">85.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentFinancialCovenantEligibleInventory', window );">Eligible inventory</a></td>
<td class="nump">$ 5,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage', window );">Percentage of eligible raw material</a></td>
<td class="nump">50.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage', window );">Percentage of eligible finished goods inventory</a></td>
<td class="nump">60.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Additional borrowing capacity</a></td>
<td class="nump">$ 3,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_SecuredDebt', window );">Balance outstanding</a></td>
<td class="nump">2,300,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash', window );">Minimum excess availability and unrestricted cash required</a></td>
<td class="nump">$ 5,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash', window );">Number of days to maintain excess availability and unrestricted cash</a></td>
<td class="text">3 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount', window );">Minimum principal amount to be maintained to direct use of funds in deposit account</a></td>
<td class="nump">$ 2,250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid', window );">Minimum principal amount on which interest is paid</a></td>
<td class="nump">$ 2,250,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Minimum [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity', window );">Additional borrowing capacity</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 750,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Prime Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">1.75%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember', window );">Federal Funds Rate [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LineOfCreditFacilityAbstract', window );"><strong>Borrowings [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1', window );">Basis spread on variable rate</a></td>
<td class="nump">2.25%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentFinancialCovenantEligibleInventory">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentFinancialCovenantEligibleInventory</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash required under a new "springing" deposit account control agreement, permitting the Company to direct the use of funds in its deposit account.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum principal amount, whether or not such amount of loans is actually outstanding, on which interest is paid if the Company does not have the ability to direct the use of funds in the deposit account under the Amended Fee Letter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The minimum principal amount of outstanding borrowings that must be maintained in order to retain the ability to direct the use of funds in the deposit account under the Amended Fee Letter.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The period of time the minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash must be maintained, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>tact_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentBasisSpreadOnVariableRate1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage points added to the reference rate to compute the variable rate on the debt instrument.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentBasisSpreadOnVariableRate1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentInterestRateStatedPercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Contractual interest rate for funds borrowed, under the debt agreement.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1B<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481139/470-20-50-1B<br><br>Reference 2: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.22(a)(1))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentInterestRateStatedPercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DeferredFinanceCostsGross">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 835<br> -SubTopic 30<br> -Section 45<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482925/835-30-45-3<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DeferredFinanceCostsGross</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Topic 210<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02.19(b),22(b))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SecuredDebt">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Carrying value as of the balance sheet date, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.5-02(22))<br> -SubTopic 10<br> -Topic 210<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480566/210-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 944<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-03(a)(16)(a)(2))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479440/944-210-S99-1<br><br>Reference 3: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 210<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-03(16))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479853/942-210-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SecuredDebt</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DebtInstrumentAxis=tact_RevolvingCreditFacilitySienaLendingGroupLlcMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_srt_RangeAxis=srt_MinimumMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">srt_RangeAxis=srt_MinimumMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_PrimeRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_PrimeRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_VariableRateAxis=us-gaap_FederalFundsEffectiveSwapRateMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>41
<FILENAME>R30.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198270258496">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Earnings per share (Details) - USD ($)<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_NetIncomeLoss', window );">Net (loss) income</a></td>
<td class="num">$ (1,036)<span></span>
</td>
<td class="nump">$ 3,139<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract', window );"><strong>Shares [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic', window );">Basic: Weighted average common shares outstanding (in shares)</a></td>
<td class="nump">9,972<span></span>
</td>
<td class="nump">9,930<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements', window );">Add: Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method (in shares)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">113<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding', window );">Diluted: Weighted average common and common equivalent shares outstanding (in shares)</a></td>
<td class="nump">9,972<span></span>
</td>
<td class="nump">10,043<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasicAbstract', window );"><strong>Net (loss) income per common share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareBasic', window );">Basic (in dollars per share)</a></td>
<td class="num">$ (0.1)<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareDiluted', window );">Diluted (in dollars per share)</a></td>
<td class="num">$ (0.1)<span></span>
</td>
<td class="nump">$ 0.31<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockCompensationPlanMember', window );">Stock Awards [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EarningsPerShareReconciliationAbstract', window );"><strong>Earnings per share [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount', window );">Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)</a></td>
<td class="nump">89<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareBasicAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareBasicAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareDiluted">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 15<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-15<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (e)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-7<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-2<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (d)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(25))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 13: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(27))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(23))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 15: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 52<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482635/260-10-55-52<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-7<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareDiluted</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:perShareItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareReconciliationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareReconciliationAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 718<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480454/718-10-45-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-22<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 23<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-23<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28A<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-28A<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NetIncomeLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The portion of profit or loss for the period, net of income taxes, which is attributable to the parent.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 235<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(g)(1)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 323<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147481687/323-10-50-3<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 825<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 28<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482907/825-10-50-28<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482765/220-10-50-6<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 3<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-3<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (b)(2)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 815<br> -SubTopic 40<br> -Name Accounting Standards Codification<br> -Section 65<br> -Paragraph 1<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480175/815-40-65-1<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 9: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 10: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 11: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 11<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-11<br><br>Reference 12: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-4<br><br>Reference 13: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 946<br> -SubTopic 830<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480167/946-830-55-10<br><br>Reference 14: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483581/946-220-45-7<br><br>Reference 15: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 16: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 17: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.6-07(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-1<br><br>Reference 18: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 946<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 3<br> -Subparagraph (SX 210.6-09(1)(d))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483575/946-220-S99-3<br><br>Reference 19: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 20: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(ii))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 21: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 22: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 23: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1A<br> -Subparagraph (SX 210.13-01(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1A<br><br>Reference 24: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(i))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 25: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(A))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 26: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iii)(B))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 27: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(4)(iv))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 28: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 470<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1B<br> -Subparagraph (SX 210.13-02(a)(5))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480097/470-10-S99-1B<br><br>Reference 29: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 30<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-30<br><br>Reference 30: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (f)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 31: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 60B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-60B<br><br>Reference 32: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 31<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-31<br><br>Reference 33: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 32<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-32<br><br>Reference 34: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 205<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 7<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483499/205-20-50-7<br><br>Reference 35: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 230<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 28<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482740/230-10-45-28<br><br>Reference 36: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1A<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1A<br><br>Reference 37: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1B<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482790/220-10-45-1B<br><br>Reference 38: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 220<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03(20))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483621/220-10-S99-2<br><br>Reference 39: http://fasb.org/us-gaap/role/ref/legacyRef<br> -Topic 942<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483589/942-220-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NetIncomeLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 16<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-16<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482662/260-10-50-1<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 260<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482689/260-10-45-10<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockCompensationPlanMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis=us-gaap_StockCompensationPlanMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>42
<FILENAME>R31.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198268471120">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Leases (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
<th class="th"><div>Dec. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LeasesAbstract', window );"><strong>Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseExpense', window );">Operating lease expense</a></td>
<td class="nump">$ 282<span></span>
</td>
<td class="nump">$ 237<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_CashFlowOperatingActivitiesLesseeAbstract', window );"><strong>Cash Flows Related to Operating Leases [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeasePayments', window );">Operating cash outflows from leases</a></td>
<td class="nump">$ 257<span></span>
</td>
<td class="nump">$ 252<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseDescriptionAbstract', window );"><strong>Operating Lease Weighted Average Remaining Lease Term and Discount Rate [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1', window );">Weighted average remaining lease term</a></td>
<td class="text">1 year 6 months<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">1 year 8 months 12 days<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent', window );">Weighted average discount rate</a></td>
<td class="nump">4.40%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4.40%<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract', window );"><strong>Maturity of Operating Lease Liabilities [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear', window );">2024</a></td>
<td class="nump">$ 727<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 985<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths', window );">2025</a></td>
<td class="nump">712<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">713<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo', window );">2026</a></td>
<td class="nump">22<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue', window );">Total undiscounted lease payments</a></td>
<td class="nump">1,461<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,720<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount', window );">Less imputed interest</a></td>
<td class="nump">52<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">71<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_OperatingLeaseLiability', window );">Total lease liabilities</a></td>
<td class="nump">$ 1,409<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,649<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_CashFlowOperatingActivitiesLesseeAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CashFlowOperatingActivitiesLesseeAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LeasesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LeasesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseDescriptionAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseDescriptionAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 6<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-6<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of operating lease expense. Excludes sublease income.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2009/role/commonPracticeRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 4<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseLiability">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Present value of lessee's discounted obligation for lease payments from operating lease.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 1<br> -Subparagraph (b)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseLiability</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeasePayments">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 5<br> -Subparagraph (c)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479041/842-20-45-5<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(1)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeasePayments</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average discount rate for operating lease calculated at point in time.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(4)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/exampleRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 55<br> -Paragraph 53<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479589/842-20-55-53<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 842<br> -SubTopic 20<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 4<br> -Subparagraph (g)(3)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147478964/842-20-50-4<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>43
<FILENAME>R32.htm
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="include/report.css">
<script type="text/javascript" src="Show.js">/* Do Not Remove This Comment */</script><script type="text/javascript">
							function toggleNextSibling (e) {
							if (e.nextSibling.style.display=='none') {
							e.nextSibling.style.display='block';
							} else { e.nextSibling.style.display='none'; }
							}</script>
</head>
<body>
<span style="display: none;">v3.24.1.1.u2</span><table class="report" border="0" cellspacing="2" id="idm140198364447888">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Income taxes (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Mar. 31, 2024</div></th>
<th class="th"><div>Mar. 31, 2023</div></th>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxDisclosureAbstract', window );"><strong>Income taxes [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_IncomeTaxExpenseBenefit', window );">Income tax (benefit) expense</a></td>
<td class="num">$ (277)<span></span>
</td>
<td class="nump">$ 629<span></span>
</td>
</tr>
<tr class="re">
<td class="pl" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations', window );">Effective tax rate</a></td>
<td class="num">(21.10%)<span></span>
</td>
<td class="nump">16.70%<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EffectiveIncomeTaxRateContinuingOperations">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 12<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-12<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EffectiveIncomeTaxRateContinuingOperations</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>dtr-types:percentItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IncomeTaxExpenseBenefit">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">- Definition</a><div><p>Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations.</p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 8<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-8<br><br>Reference 2: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 250<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 9<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483443/250-10-50-9<br><br>Reference 3: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 10<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482685/740-10-50-10<br><br>Reference 4: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 740<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 6.I.7)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147479360/740-10-S99-1<br><br>Reference 5: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 280<br> -SubTopic 10<br> -Name Accounting Standards Codification<br> -Section 50<br> -Paragraph 22<br> -Subparagraph (h)<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482810/280-10-50-22<br><br>Reference 6: http://www.xbrl.org/2003/role/disclosureRef<br> -Topic 944<br> -SubTopic 220<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(9))<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147483586/944-220-S99-1<br><br>Reference 7: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section 45<br> -Paragraph 2<br> -Subparagraph (a)<br> -SubTopic 20<br> -Topic 740<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147482659/740-20-45-2<br><br>Reference 8: http://www.xbrl.org/2003/role/disclosureRef<br> -Name Accounting Standards Codification<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.4-08(h))<br> -SubTopic 10<br> -Topic 235<br> -Publisher FASB<br> -URI https://asc.fasb.org//1943274/2147480678/235-10-S99-1<br></p></div>
<a href="javascript:void(0);" onclick="Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_IncomeTaxExpenseBenefit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>44
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( #V)KE@'04UB@0   +$    0    9&]C4')O<',O87!P+GAM
M;$V./0L",1!$_\IQO;=!P4)B0-!2L+(/>QLOD&1#LD)^OCG!CVX>;QA&WPIG
M*N*I#BV&5(_C(I(/ !47BK9.7:=N')=HI6-Y #OGD<Z,STA)8*O4'J@)I9GF
M3?X.CD:?<@X>K7A.YNJQ<&4GPZ4A!0W_<FW>J=0U[R;UEA_6\#MI7E!+ P04
M    "  ]B:Y8_6(";^\    K @  $0   &1O8U!R;W!S+V-O<F4N>&ULS9)1
M2\,P$,>_BN2]O;2=PD*7%\4G!<&!XEM(;EM8TX3DI-VWMXU;A^@'\#%W__SN
M=W"M#D+[B"_1!XQD,=V,KNN3T&'##D1! "1]0*=2.27ZJ;GST2F:GG$/0>FC
MVB/4G-^!0U)&D8(96(2%R&1KM- 1%?EXQAN]X,-G[#+,:, .'?:4H"HK8'*>
M&$YCU\(5,,,(HTO?!30+,5?_Q.8.L'-R3'9)#<-0#DW.33M4\/[\])K7+6R?
M2/4:IU_)"CH%W+#+Y+?F_F'[R&3-ZU7!;XMJM:TKP=>B67_,KC_\KL+.&[NS
M_]CX(BA;^'47\@M02P,$%     @ /8FN6)E<G",0!@  G"<  !,   !X;"]T
M:&5M92]T:&5M93$N>&UL[5I;<]HX%'[OK]!X9_9M"\8V@;:T$W-I=MNTF83M
M3A^%$5B-;'EDD81_OT<V$,N6#>V23;J;/ 0LZ?O.14?GZ#AY\^XN8NB&B)3R
M>&#9+]O6N[<OWN!7,B0103 9IZ_PP JE3%ZU6FD PSA]R1,2P]R"BPA+>!3+
MUES@6QHO(];JM-O=5H1I;*$81V1@?5XL:$#05%%:;U\@M.4?,_@5RU2-9:,!
M$U=!)KF(M/+Y;,7\VMX^9<_I.ATR@6XP&U@@?\YOI^1.6HCA5,+$P&IG/U9K
MQ]'22(""R7V4!;I)]J/3%0@R#3LZG5C.=GSVQ.V?C,K:=#1M&N#C\7@XMLO2
MBW <!.!1NY["G?1LOZ1!";2C:=!DV/;:KI&FJHU33]/W?=_KFVB<"HU;3]-K
M=]W3CHG&K=!X#;[Q3X?#KHG&J]!TZVDF)_VN:Z3I%FA"1N/K>A(5M>5 TR
M6'!VULS2 Y9>*?IUE!K9';O=05SP6.XYB1'^QL4$UFG2&98T1G*=D 4. #?$
MT4Q0?*]!MHK@PI+27)#6SRFU4!H(FLB!]4>"(<7<K_WUE[O)I#-ZG7TZSFN4
M?VFK :?MNYO/D_QSZ.2?IY/734+.<+PL"?'[(UMAAR=N.Q-R.AQG0GS/]O:1
MI24RS^_Y"NM./&<?5I:P7<_/Y)Z,<B.[W?98??9/1VXCUZG LR+7E$8D19_(
M+;KD$3BU20TR$S\(G8:8:E < J0),9:AAOBTQJP1X!-]M[X(R-^-B/>K;YH]
M5Z%82=J$^!!&&N*<<^9ST6S[!Z5&T?95O-RCEU@5 9<8WS2J-2S%UGB5P/&M
MG#P=$Q+-E L&08:7)"82J3E^34@3_BNEVOZ<TT#PE"\D^DJ1CVFS(Z=T)LWH
M,QK!1J\;=8=HTCQZ_@7YG#4*')$;'0)G&[-&(81IN_ >KR2.FJW"$2M"/F(9
M-AIRM1:!MG&IA&!:$L;1>$[2M!'\6:PUDSY@R.S-D77.UI$.$9)>-T(^8LZ+
MD!&_'H8X2IKMHG%8!/V>7L-)P>B"RV;]N'Z&U3-L+([W1]072N0/)J<_Z3(T
M!Z.:60F]A%9JGZJ'-#ZH'C(*!?&Y'C[E>G@*-Y;&O%"N@GL!_]':-\*K^(+
M.7\N?<^E[[GT/:'2MS<C?6?!TXM;WD9N6\3[KC':US0N*&-7<LW(QU2ODRG8
M.9_ [/UH/I[Q[?K9)(2OFEDM(Q:02X&S022X_(O*\"K$">AD6R4)RU3393>*
M$IY"&V[I4_5*E=?EK[DHN#Q;Y.FOH70^+,_Y/%_GM,T+,T.W<DOJMI2^M28X
M2O2QS'!.'LL,.V<\DAVV=Z =-?OV77;D(Z4P4Y=#N!I"O@-MNIW<.CB>F)&Y
M"M-2D&_#^>G%>!KB.=D$N7V85VWGV-'1^^?!4;"C[SR6'<>(\J(A[J&&F,_#
M0X=Y>U^89Y7&4#04;6RL)"Q&MV"XU_$L%.!D8"V@!X.O40+R4E5@,5O& RN0
MHGQ,C$7H<.>77%_CT9+CVZ9EM6ZO*7<9;2)2.<)IF!-GJ\K>9;'!51W/55OR
ML+YJ/;053L_^6:W(GPP13A8+$DACE!>F2J+S&5.^YRM)Q%4XOT4SMA*7&+SC
MYL=Q3E.X$G:V#P(RN;LYJ7IE,6>F\M\M# DL6XA9$N)-7>W5YYN<KGHB=OJ7
M=\%@\OUPR4</Y3OG7_1=0ZY^]MWC^FZ3.TA,G'G%$0%T10(CE1P&%A<RY%#N
MDI &$P'-E,E$\ *"9*8<@)CZ"[WR#+DI%<ZM/CE_12R#ADY>TB42%(JP# 4A
M%W+C[^^3:G>,U_HL@6V$5#)DU1?*0XG!/3-R0]A4)?.NVB8+A=OB5,V[&KXF
M8$O#>FZ=+2?_VU[4/;07/4;SHYG@'K.'<YMZN,)%K/]8UA[Y,M\Y<-LZW@->
MYA,L0Z1^P7V*BH 1JV*^NJ]/^26<.[1[\8$@F_S6VZ3VW> ,?-2K6J5D*Q$_
M2P=\'Y(&8XQ;]#1?CQ1BK::QK<;:,0QY@%CS#*%F.-^'19H:,]6+K#F-"F]!
MU4#E/]O4#6CV#30<D05>,9FV-J/D3@H\W/[O#;#"Q([A[8N_ 5!+ P04
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
MAQ*RZL>JB19YV=(\"(T-4CE,L(<%:0SP^4((_3(Q75+=%8]^ U!+ P04
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
MA!=6X_FW8;;P,QZW2,4JYGL=9$@J&B=N&E]V8?V([MB6IZE)( @04"07H=6
M-DMCXI-6!K7%)K.N,8149$[<9.[ S\PTXD3>)FIHMGX+>5ML/.YZ"R$5GQ,W
MGZ_WNUW,S*X0T)G9-0_W,3. 4Y'V,VM>S?#DJ Q_+&WUS<R*X7TWPU\]FQ^T
MJ1YQS1)K&15*ZQMWC4!:9$AS4A\<[' G3&ZSC7^%LFD\WR$NKY8?%\ZR+?7&
M]7-\LLP_$51J\B\6EU1"82D4LPVH]#Y-(+-D_A$@/]%BE^VCWPFM19(=1HR&
M3!H!N+\10C^?F >4GV(6_P-02P,$%     @ /8FN6)C[0(R^!@  LC   !@
M  !X;"]W;W)K<VAE971S+W-H965T-RYX;6R]FVMOVS84AO\*X15;"M2U=;<[
MQT!B44J -LGB=,-0[ ,C,;%675R1SN7?CY15VY)HNA[.]J6Q[',>4N++0_*%
M.GDNRJ]L02E'+UF:L]/>@O/EA\& 10N:$?:^6-)<_/)0E!GAXK)\'+!E24E<
M)67IP!P.W4%&DKPWG53?W9332;'B:9+3FQ*Q59:1\O6<IL7S:<_H??_B-GE<
M</G%8#I9DD<ZI_SS\J845X,-)4XRFK.DR%%)'TY[9\:'T+1D0A7Q>T*?V<YG
M)&_EOBB^RHO+^+0WE#VB*8VX1!#QYXG.:)I*DNC'MQK:V[0I$W<_?Z<'U<V+
MF[DGC,Z*](\DYHO3WJB'8OI 5BF_+9XO:'U#CN1%1<JJ?]%S'3OLH6C%>)'5
MR:('69*O_Y*7^D'L))CFG@2S3C!;"9:[)\&J$ZQV"]Z>!+M.L-L)]IX$ITYP
M6@GVOBZY=8+;2C"L/0E>G>!5@[5^NM70^(23Z:0LGE$IHP5-?JC&M\H6(Y+D
M4HIS7HI?$Y''I[/K*Q]?S;&/Q*?Y]<=+_^Q.7,SOQ)]/^.INCJX#-+LXNPKQ
M'%U>H?G%V2V^N/[HX]OY+PC_]OGR[D_41Y_G/CIY\Q:Q!2DI0TF.[A;%BI$\
M9N_0F\;U9,!%OV7K@ZCNX_FZC^:^/A99)E0[YT7T%7WY1+-[6OZEP,STF+,X
M3J3\28IN2!+W1:=F9)EP<:V!^GKH+>5BOM,885+F2?[(="RL9]V)6L)6Y>OA
M.PT.W&D4K;)52KCHUS5?T!*)1R@JU4*6D">*/A9,V\_P0#\+\<R::0,ANXWV
MS(WVS(IC[^&<T\<DEP]-%).4Y!%%A".?1N^19;Q#YM T55I9,]V**0OMT]2P
MQI/!TZX0NC&.:X[,9I3?C1J[UK 9A+M!?<LTC%98H CS6KT*NS&6-7*WO6H\
M1&OS$*TJS=KS$"_S2,J&HA/QY*I/;^5TJR2T*-*8EDS,TV^KA+^B+[=%FB)1
MPI])&:L&_MS2#9A<%C^P)8GH:4^HB='RB?:F/_]DN,-?5=,1$N9#PC D+("$
MA4"PAI3LC91L[7R\9&Q53</B 47KFLNJ2O10%IG8=S!>)I&L*>MO5WG"E=5\
MW8JS.T-;\U/;CV.5 0G#D+  $A8"P1K*<#;*<+3*F,MEO2^W?+%4AM@',U+M
M).F+_$Q5*M 2CRTE3D=2IC=JE7/(!C$D+("$A4"PA@[<C0Y<K0YNJ?A&K"5L
M(4XC7-:)=2D@<D%AB!=H25Z1."")72Q?R.5'KNZ<O%!EH= V=JQ$W(Y$^B.W
M)1'(!C$D+("$A4"PAD2\C40\K42NQ/'Y)!4;3+D-$;5"61NTB&,''A+F>QT5
M69WM)89L,8"$A0>ZWQC1T69$1]H1%?M%<:#/Q6FT+&D>O2)>DIREZP6 Q'^+
M0ZJL!N]03JN2(*:[:LRUC1P[YI P'Q*&(6'!J+OLM<X4NHC&:(\WHSW6CC;.
MX]:)[!,I-R<R2S6RX^Y^SVZ=CV;=&,>U/;M5GQ4DTW/;TZ\;I3R2*<(\K_7X
MQMTCF6>,7?4C-(9;4V6H/93-5\ME2N6L(.G:$Q'%<.T;BDFC=$"&D-,#E.:#
MTC H+0"EA5"TIFQVO#CCAP]@M9-6';T:FZP3<;I?__A6*21M$T<+"9+F@](P
M*"T I84UK5'O[#U596N7&7J_[,=VWYV=]T'%:%L]6C&0-!^4AD%I 2@MK&G-
MM6^/8K;>H*'UBPX[K,KUO(;J%W1%D.,-':>UHBM95OOLCA5ARC5=%6>W?=8Z
MJ+&JCVUCW_S;VF.&_3]:K0:D.S0#I?F@- Q*"T!I(12M*:FMKV;HC34HR]7H
M&F2="0OI0OF@- Q*"T!I(12MJ9"MXV;H+;=_8[WJD4>7EJZS9KJ=.@]JK8'2
M E!:"$5KZF%KKQEZ?PW8@M6W=K14NOY3WS/:4H%L$H/2 E!:"$5K2F7KVQEZ
MX^Z'K%@]XV@!@!IS1M?=ZAM#RVUO'D$]-U!:>/ 6FF.[=>D,O4T'9,KJ6SEZ
M]"%I/B@-@]("0V$N&NUCB#:F^<;,UEDTM1;4 7O65KXP,^R^,=,YSBF"',]L
M'ZU\%<NR[)8KC15AZK=F%'%.*RA4!%DCQ]OW*+=NFVD F[0FJ+<&2O-!:1B4
M%H#20BA:4S8[+ZWI73@(DU;?Q-%" K7<0&D8E!: TD*S:[G9WIZJLK7<3+WE
M]A^9M/I6CU8,Z*MYH#0,2@M ::&I<#/;Z]!@YV5L^3:_6)\?DYRAE#Z(I.%[
M3V27ZQ?DUQ>\6%;O9]\7G!=9]7%!24Q+&2!^?R@*_OU"OO*]^6\*TW\ 4$L#
M!!0    ( #V)KEAN>=^ .P@  +$3   8    >&PO=V]R:W-H965T<R]S:&5E
M=#@N>&ULE5A=;]PV%GV?7T%,@:(%)O-EMPT2VX#M-MMB&\"-D^W#8A\HB1JQ
MIDB%'Z-,?_V>2U(:Q1D[NR_V2"(O[[WGW'.O=-$;^^ :(3S[U"KM+N>-]]VK
MU<J5C6BY6YI.:#RIC6VYQZ7=K5QG!:_BIE:MMNOUCZN62SV_NHCW[NS5A0E>
M22WN+'.A;;D]W AE^LOY9C[<>"=WC:<;JZN+CN_$O? ?NCN+J]5HI9*MT$X:
MS:RH+^?7FU<WY[0^+OB7%+V;_&8426', UW\5EW.U^204*+T9('CWU[<"J7(
M$-SXF&W.QR-IX_3W8/U-C!VQ%-R)6Z/^E)5O+N<OYZP2-0_*OS/]KR+'\P/9
M*XUR\2_KT]JSLSDK@_.FS9OA02MU^L\_Y3Q,-KQ</[%AFS=LH]_IH.CES]SS
MJPMK>F9I-:S1CQAJW WGI"90[KW%4XE]_NJ&.^F8J1D@=4)[3KFZ6'F8I@6K
M,INY26:V3Y@Y8V^-]HUCO^A*5)_O7\&ET:_MX-?-]EF#;[E=LK/-@FW7V_-G
M[)V-<9Y%>V=?B_-N$B?[]W7AO 4S_G,JY&3Q_+1%JI97KN.EN)S'W-F]F%]]
M^\WFQ_7K9_P]'_T]?\[Z:7]/.?F\F<V2G428O6\$6\:_MP:0:2<J^N6,DA7W
MN+CABNM2L/LH#;C'6<\="&]1116KK6D9#Y6DM;746"NY8@[F!6K6NP4K O89
MX9@VGDE=JE )QI5BE72E,B[ ']3UQR M;!0']F%YOV3_N+Z^BXXY@4T>Q[4G
M[<]<8X+"/L%(C+"6E4;_%72J]E[ZAGF$]YR/M,D$RZZU#GCP3G3&>H;=5/!L
MLW[Q3P;9BV8.@ELFB-SL.[K^]IN7V^WZ-=AY=EP=;VY>?Y\2B_ @#3'UT% ;
M\^Y&@[ZQ0K V54TR#,Z7S4AZQJV84>JT*(5SW$IU@,.5+#D)&9GUDU.\H52(
M3QWDCL+-Q]0!"1^<EWK'?H:UMA!V/&?);H.U2 >["0[T<8Z]QV7EV'6-]"-=
MUF!?A6:@*U8%2U9:XSQY$..O D'%.H[DP0W*: ?8H/& I.V$E]Y8RLWFI]>.
M[(7=3@E:6@F%4&BYJ4*9 (E>HZQ@?N9"UR'JLN$)7BI6&<F%:P48HP,+U@L$
MO^.:;#HAQC11PN$E9P <V))'#FVH,KTF"SFF?&B)0M&&T9T=;V.4W#X(OV#@
M?9)B89'HAGO6@'%%D,JST"'I!!#,[)%%@S,H(>3)(^]+8>$/K_:2JBUD4SCZ
M@-9%7!Z\!-(SU$2@)-B*#@W:2T5+)0%BR@<4%7J2DG^+BMB&"C\&UD*5B ,$
MQ$"/(;&XA\+X&( 5\CX@2#''Q]("U\^?GB_BXWX@%Q;B-$\4H2 1EY<Z!9Q.
M'L_,7(ED'@- 61]S"8HS7B0NH%.K68K0Z!=- B9G=,G>D-_"+IY@U]<P!& N
M^M4B+PD7>IAY%]</@<2H(%=0%?BZ-PI[&'#J":Q(-"4%Z@])B,55<@0M_0$L
M;"3J=SA)$039+9!3:DTG(J<$4L]M16&4N#<C828U3*MQ2O8Y>47$$)]0$+8@
MPI.YS-L!\>G)&F5 \D!:,>4!9B-58;0XE2+'E7!+]AMFI IBB:J)%=7P?<+<
M2@'NDB_.CYEQ5!4\1TIAE5E%!!)I6EE20I,UE.N@%\G1;'Q6"*%'_$U=.P1=
M'(8C$D 2M14E-!QE8LE^-3TP !V(%!23)O5#6#MPEZ-MB)1)G-1+@%0<>39"
MFVV[4-?  :XC9T<_N#X 7T^PN "?'P4?K>-8$NB"; DH#I(]%DO+#_2@3KP]
M@E$</E<U-$,;NIPFJ6L598O8/=#"19,FFMDI4Z!3G<CQP)P#XW6=RE1D(CGR
M)PXHT5)LW2,0#HDEG0DVU87,YY&:N^7G8\""W7+7L#?@75SSNT3SQOF'W"JL
MV&-J)MSZ1D1_)_YAPPJ%*O:Q\T+''646\Q?@HK9<F5 @[07>'*(WO)"*3 .2
MED:0#,:QCYM"R=T@\M1%*.+-=NBIM5'PDYR))4.U8_0LQ>V?GGO>C/;OIW-"
MG%YR/:/R_T@2"12_'!K^0%JIF $>\2'M)3^H@:$"TR0P]&]>9O@0)M=X#XHE
MIUV&00TI7DRU)V)-2=*"6 A,4OM'@>QEE::IX\PQ@TX6Z.Q5FHIH7]P3]85^
MT RVAPA0J'2S,-:FU/$]EVI (B!A-G<5Z.(^QD3$]]2PTYI8;=F-26D=XR!/
MZZ"3*@V:,8%R08(J/<UI71I9<DGAY2X>F)_FP;$=G8Z]J*7"&F:_V9$K)0B"
MWWZ4DL=^1P(AJ0KE[9]GT="U_R\&32BQ9!]<'-^N<=EV8W6P7YQ'7_- _FUD
M NT<QZ8(?3T]'(JB#U_(6\RMQ(D="I<PG\R>_VN5L&.5!#T,T*>CG7TM6NJ3
M]-I<D5T^B3B=@18/)H$J<J<ER *,V%^AVI&=F!0Q)@49RQI@242"F KF@ED9
M.T9\9\ F*(P7$S;%JD(DCP0U9R=6IR/!>X_7BETSM%@:HZ>=AT75IP;J9M1N
MAX903:4,%.Q@[ 7P@1E9QM+-O2(WBI1;E4(;YJ:L"%\T4J'W$C,XI60J)U^+
M/4;Y5*\A-%(%YEEL&"*H@V1_\ESPYR/=Z<6,YC:$&)4]#4Q4<Q1_FB./ 1%%
M.^-%TOB,WQ@932^XHX>FV0^O= .;/7\0XU1"!D:V10@':M/U44=+=)"(YM!S
MQI8_JM#RU"OZ:O(9!2G9Q8]%CD8P[=,7E?'N^#WJ.GV&.2Y/'[/P*H>)ST%.
M:FQ=+W_Z80Z0X@>B=.%-%S_*%,8C__%G@]=886D!GM<&2<L7=,#XE>[JOU!+
M P04    "  ]B:Y8HUT/H(D"   0!@  &    'AL+W=O<FMS:&5E=',O<VAE
M970Y+GAM;)V5;4_;,!#'O\HIDZ8A=4V:AH=U;:06AN %&R*PO9CVPDTNB45B
M9[9#X=OO[*19D:!(O&G\</_?W=F^ZWPCU;TN$0T\UI70"Z\TIIGYODY+K)D>
MRP8%[>12U<S05!6^;A2RS(GJR@^#X,BO&1=>/'=KURJ>R]947."U MW6-5-/
M*ZSD9N%-O.W"#2]*8Q?\>-ZP A,T=\VUHID_4#)>H]!<"E"8+[SE9+:*K+TS
M^,EQHW?&8#-92WEO)Y?9P@ML0%AA:BR!T><!3[&J+(C"^-LSO<&E%>Z.M_1S
MESOELF8:3V7UBV>F7'@G'F28L[8R-W)S@7T^AY:7RDJ[7]ATMM'4@[351M:]
MF"*HN>B^[+$_AQW!2?"*(.P%H8N[<^2B/&.&Q7,E-Z"L-='LP*7JU!0<%_92
M$J-HEY/.Q DO!,]YRH2A$TIE*PP7!32RXBE'/?<-.;&F?MH#5QTP? 4XA2LI
M3*GAF\@P>Z[W*;@APG ;X2K<"[QB:@S3R0C"((SV\*9#QE/'F[XO8_B]7&NC
MZ+7\>2GYCAV]S+85--,-2W'A48EH5 _HQ1\_3(Z"KWLBCX;(HWWT]]S5?F X
MAK=.@YX^,,BXIK?H"E'F(%NJZOVZ$6A$^"X-0CB"I*MXJWU#!S>8HC#5$W"M
M6\R>V2@I:)PB]02C9_!#D(,'K->H(#QV[V,Z E,BG"^3U1:P3.[<SN> 3!(L
MK)B\-%(YZ*=;V? 4PI/@P +/R+T#3J*W@5]&<"E262/<LD>*O6<=1\'!2[?M
M[U1IC:IPO4B#RZ\KV&%U:'?+KLK_FW>]DFJBX$)#A3E)@_'QH0>JZS_=Q,C&
MU?Q:&NH@;EA2RT9E#6@_EW0U_<0Z&/X$XG]02P,$%     @ /8FN6$=&<5(5
M!P  SA   !D   !X;"]W;W)K<VAE971S+W-H965T,3 N>&ULC5A;<]NV$G[G
MKT!53\>98222NCNV9V0Y:3/3GGALY_3A3!\@$A(Q(0$6@"R[O[[?@A?)CNR<
M%PL ][[?[@(^WVGSS>9"./98%LI>]'+GJK/!P*:Y*+GMZTHH?%EK4W*'K=D,
M;&4$SSQ360R2*)H,2BY5[_+<G]V8RW.]=854XL8PNRU+;IZN1*%W%[VXUQ[<
MRDWNZ&!P>5[QC;@3[FMU8[ ;=%(R60IEI5;,B/5%;Q&?78V(WA/\5XJ=/5@S
M\F2E]3?:?,XN>A$9) J1.I+ \?,@EJ(H2!#,^+N1V>M4$N/ANI7^R?L.7U;<
MBJ4N_I29RR]ZLQ[+Q)IO"W>K=[^)QI\QR4MU8?U?MJMIXWF/I5OK=-DPPX)2
MJOJ7/S9Q.&"81:\P) U#XNVN%7DKK[GCE^=&[Y@A:DBCA7?5<\,XJ2@I=\[@
MJP2?N[P5#T)MQ?G 01@=#=*&\:IF3%YA'+(_M'*Y91]5)K+G_ ,8T5F2M)9<
M)6\*_(.;/AO&(4NB9/2&O&'GV=#+&[[M&?O?8F6=0?;_.N9D+6-T7 95Q)FM
M>"HN>H"\%>9!]"Y_^3F>1!_>L'#463AZ2_I;L7^;<=AGK7=_"@ [U5OE&"H4
M95(?2^6/3<95*@ IE[/%W9+=ZTJF;!)-SCH!:Z-+MD0J*42V)EUZW EC^^Q:
M6K[9&+'AOHCTNE-QGX-9%ZAJJ3;,\54A+,OVY(+I[=Z@U1-0:[ZAR[BG2H2,
M0Q5.12%!P%PN+3;6H:!@(>S($4H'#8J[K2'ZDGP,F9,EJ>,J8UNX9ASZCGLB
MNPZUT>>4VSQ8PSS+N,'1>HU&(#*R1*1:Z1*16,-G36[><;+>2X4#XCT5>@:G
M'D7-+1[38@N<U^%JU-A^<)\;(9Y50@ <ISD!.2 @TY]A</I9P1L-V2JS[X*O
M2I(E=PY1LL%GY811/KZ\".ZUP]\?4WS2.F.$2(D$.Y'F2A=Z\Q2<!,.05)X$
MR73J=\,H\K_)A$[C^=CO1N-9<//ECO$M4NU%!Y-Q'/SR\RR)XP]^'8?361+$
M8UK,I\&26ZFT#]*&4Q9(YG 6)%[6.)S,)T$<A^/)/!B%R8@XPUD<!_>&*[M(
M';NKK;7L5Z.W53 ;#X-X-H7T:!0%\]DP2!)2FD2CVD>F !=+F8'%TW Z(<N3
M<)XDY$<43F;D8#P-QW-:C,+)U/N=A,DTZC"-IEU0%=C]";=6 &- @97 ',"S
M52M9%(BX$:F0#Q[,?7:S-7;+45I.>S#J!V'> X&B QK(]0:YHMHH=2:*L/M4
M\B= NJ7X![(K(U&BC:RTJ3'0$*"E>M"(3=8/%NJ8-0P%0J(,@1 B,+MHL'7:
M7,Y=2].HV^5"8=@"C"T14"Q$9KW^NJ ZO2_-ZK.O1T+B:\&*BAM.\$3I:7 8
M(R")<*&T>M_MZR#3L51-]5!W06LBD"71AT7=N.R!AC! SOWG^(-G;4B_P#;3
MB&P_2^4M1E8S7!(@'2NK"YEYVZ[JK+,[&HW(99?\0G(XAI2)9PCH\H%&_[[B
M3[AX--9CQ@NXE+5A['?]D6CWI(:276E#VM'>]DZ:+4X.U!XXT ;KT*C:K^#_
M\LL;"*TTG"!F[T1K5<FS>AID#YX-GE;"^,N<WZX*6;=VKU<JZ^I: 7C@3PJW
MI6,YW%$:E22 */'H!#4ZK[IVNH,<MQW6//HH/\?5$59375:%< CH=1/BH)M?
M=A_+%F_%TVL1>PF]E]^:--MV3'0N[+A!<\+\2-L!&-:]5*9H/W9;D0E^L!+;
M^GC+Q=*@'?("S!]O/B\__N?^=O$[HQLQU'B_._'>'(\:"5%Z[6"!".QV95,C
MJSH/K;JK+[\M?NJ(&*^J F9YFK N*_M*[+$\A1!*P3L:LTT*T%<R8,.7>6-0
MGWW2]8FC21:4]22KH]--,G\E"TG2@;Y6&6)Z$O5'N)P617U3+SQ0T1K(B_18
MW:%77:/FRQ7,:>3C3M,U_> H4Y-%B(9*=WC[. N>FQI\)_S["?Q]<PM;;-%0
M&=.LB4?C5RAI,OFF40..8$(3-(XPTI(H6!YK)L%I#$/>X0?"WP77+]K*7OWI
M/!E[NC":SH]2OJ+^-,8(!F,2$=M^AAX+)]P[G<^(_(0TQ=,9EK>"4$OSZ+4F
M\6.*?3?RL*+AS^L7&.9?W8'6$F"D469JM.]RB>QQMJ$"P[ZML6=]!\,5[S=S
M@*QN5"U\9;^$JY]RW66TF7<$G9<F 8\ 4MJBUOS0Q1WL.IGT9RWF^_XRO$0[
MXPJWR\=*4*E[44VY/*N627\<M-6"O?03\(<ZZ]'I[\3H7RQ.6%.L^TOXRPB@
M+I.N+E\*2$:M@.:"Q(:3YN38VV9P\,9$T#?^)4U%B:C6S\WNM'NL+^HWZIZ\
M?NG#S TF#2O$&JQ1?SKN,5._GNN-TY5_L:ZT0X;],A<89(8(\!V-V+4;4M#]
M"^/R7U!+ P04    "  ]B:Y8R*,X-FL"  !<!0  &0   'AL+W=O<FMS:&5E
M=',O<VAE970Q,2YX;6R%5$UOVS ,O?M7"-HP;$ 0?R9.LL1 TZY8#P6*=A^'
M80?%9F*AEN1)<MW]^U%VXF9 FEXLDN)[>I1)+5NE'TT)8,FSJ*19T=+:>N'[
M)B]!,#-6-4C<V2HMF$57[WQ3:V!%!Q*5'P7!U!>,2YHMN]B=SI:JL167<*>)
M:81@^N\:*M6N:$@/@7N^*ZT+^-FR9CMX /N]OM/H^0-+P05(PY4D&K8K>A$N
MUHG+[Q)^<&C-D4U<)1NE'IUS4ZQHX 1!!;EU# R7)[B$JG)$*.//GI,.1SK@
ML7U@O^YJQUHVS,"EJG[RPI8K.J.D@"UK*GNOVJ^PKV?B^')5F>Y+VCXWBBG)
M&V.5V(-1@>"R7]GS_AZ. +/@%4"T!T2=[OZ@3N45LRQ;:M42[;*1S1E=J1T:
MQ7'I?LJ#U;C+$6>S&_D$TBK-P2Q]BX0N[.=[\+H'1Z^ 8W*KI"T-^2(+*/['
M^RAD4!,=U*RCLX2W3(])'(Y(%$3)&;YXJ"[N^.*WJR._+C;&:NR"WZ<*[7F2
MTSQN,A:F9CFL*+:^ ?T$-/OP+IP&G\^H3 :5R3GVM_[!6?!I:<F8')?^K022
M*U$KB2%#U);PH]T6-"P\O/J\'.[>NX(<Q ;T(1)['V\DL:5J#).%^>3=LQ;[
MT(+FK#($8Z1ND $'I'@YB]1,6^.]]\)@-$T2-.:C>!9YUUQR[-F"[)0JC#<;
M3:(4OW&:NMSY*$Q#9Z2C=#(GIV[8/^IX 7K7S;7!@QMI^^8?HL/3<=%/S$MZ
M_^Y@X3LN#:E@B]!@G$XHT?TL]XY5=3<_&V5Q&CNSQ.</M$O _:U2]N"X X8'
M-?L'4$L#!!0    ( #V)KEAV!':9%@8  &\0   9    >&PO=V]R:W-H965T
M<R]S:&5E=#$R+GAM;)U876_;-A1]]Z\@W*!( ,.6Y:3M\@4X:8-U6->@Z;:'
M80^T1%M<*5(E*3O^]SN7E&4[<9RF0!)+]+V']Q[>+^9\8>PW5PCAV7VIM+OH
M%MY7IX.!RPI1<M<WE=#X9FILR3U>[6S@*BMX'I1*-4B3Y,V@Y%)W+\_#VJV]
M/#>U5U*+6\M<79;<+J^$,HN+[K"[6O@B9X6GA<'E><5GXD[X/ZM;B[=!BY++
M4F@GC6963"^ZX^'IU3')!X&_I%BXC6=&GDR,^48O'_.+;D(&"24R3P@<'W-Q
M+90B()CQO<'LMEN2XN;S"OTF^ Y?)MR):Z/^EKDO+KKONBP74UXK_\4L?A6-
M/R>$EQGEPE^VB+)IVF59[;PI&V584$H=/_E]P\.&PKOD"86T44B#W7&C8.5[
M[OGEN34+9DD::/007 W:,$YJ.I0[;_&MA)Z_O#(6&E+/W/G  X]6!UFC>Q5U
MTR=T1^R3T;YP[(/.1;ZM/P!J:TRZ,N8JW0OXB=L^&PU[+$W2XSUXH]:Y4< ;
M/>L<^V<\<=XB!O[=Y6>$.=X-0WEQZBJ>B8LN M\).Q?=R]>OAF^2LSU&'K=&
M'N]#?^8$]NN>]-F&C]=6Y-*S&YY))?V2?=8,C&8%&XX"I4F/+003V@L(,JF]
M8;X0['?#D1TZ9W<BJRTICF=6"&2>9S,S%U8#?7.?&L=M@^J=%)H_VI=;@22?
M_(?$8]B#LZ]/BLJR,DXXR$REYCJ37+$,>^+9,R0M;7)MRHKK93 1]'LK,^]Z
MC)<&9AE(D"UD6(^9VC(^B=#86>J,%G)LB0H : G+)U[D6C@7\#(4,B\B2D?!
M1-<GVGZKU9*E,1#Q=].*+?J(./"4!ZX.7[]ZEZ;)V6Y/QZW<'Z;/AD%V>';$
MFD/8J=1_@K4'6"PKN)[!)@+:P>-SYS6UIL0)H+K(LBX['ZX^?GT_7JM'/\5]
M%DB;<ZE6%+<B5GROI:4P\07W6WQ18_#XW0E@I@SB2G#GV<';DP2:IG9T,,'F
MSI,VXTP0"7"9.P(A.5!"CX(CX#.N\,HM*ZE ]=A$S*0.8;R0O@CBVR*D#;1P
M[DT!&O;9#1&SM095:^I9T236JE:%Q+*"? VA 6;*2DD<A(@[4F#N8[#/QL&1
M'; %S]E!VA_A?)2B1@8Q=%?G01-Y-'E!8H*B@U$_V832:/PM!%A!G0NBT4HE
MG@-=Y\OPEV!UVGN4M:'*B("SE3[;<9R^*(/2'\H@BH^0H=ARLHPRG6?2"6>A
MG*'J\Y-N(5O&S9XD]@61RBE6;P3)>TBR0])MO%W)KK]N70N1I'4SP81(^B%N
MGBT<G4AX+G.FC4<.Y'*Z# [Q&8K_C(HB"FQ-53BFEQ5SH^8A1DQ92A\V,S$P
M9/ >.6R#7H70ST+L-$>CT&$<ZX<^$&N5VW]JE35S29Q@ZB02?LAI*O>JSL7N
MUA!JHU$JQ/EIYU >=<@<<>^;";/Q$X->;((Y^1)*XU83'9'E6RLG9W3,0&P@
MP05**?<;H.)>.A^259GL&\5%E@5R<;K>8NCC;<>EB,&G73:QA 1=K"(%<S=
M\-,$",9/M$]0\B1<KU.1-=['VKR.7T#GTH8.C=7:"3)UBEQWQ+?T[A$V?J5"
M7X?C'F,Y9=8A/PKJF.A#Z=U1X)XM2>O\C&5_U>&QD'%7,.G0'X"*QJ+9P4E;
MNB@R1N2PP]1"DWUG4CL9&GO.EXY"\W!R%#K77,0P;H9U9C*,!;'_ YTXD[H&
M07WV4;?30HR8Q[G9]#J*X#6=*-2%1+Q+:H74[>*W&Z/('K)I[0'9/5)I.^=&
MM>]L5/NMYIGVTI.DER0)(5*89++"#!!S&(Y-MTX_-["?$K_@<_%SIG;6IA9"
MOX0LVJ/BRW75H,O9#D<>>D&6A$I";(N0W#AD>-$)0?E B(X6XW[-%6KX!H/]
M.!:CKL=TWEO60Q[E<8A5T:/UO/>B\7E/_[RUDNJH88T;#7Z/<N.ZD&+*/MPW
M,<X^3Z<R$W;7M6.P<0DLA9V%JRZ%-UB)]\%VM;U-C^,E<BT>K^(H;S.*826F
M4$WZ;T^ZS,;K;7SQI@I7RHGQN*"&QT)P,$8"^'YJC%^]T ;M_Q@N_P=02P,$
M%     @ /8FN6"KP@40I!   [0D  !D   !X;"]W;W)K<VAE971S+W-H965T
M,3,N>&ULC5;;;N,V$'W75Q!J422 8TF6-YNXMH%D+^@^;!%LMMV'H@^T-+:(
M4*26I*+D[SM#2HIS<_-@F;<Y/'-FAN2RT^;&5@".W=52V55<.=<LDL06%=3<
M3G4#"F>VVM3<8=?L$ML8X*4WJF4R2]/3I.9"Q>NE'[LRZZ5NG10*K@RS;5US
M<W\)4G>K.(N'@6]B5SD:2-;+AN_@&MQ?S97!7C*BE*(&9856S,!V%5]DB\LY
MK?<+_A;0V;TV(T\V6M]0YTNYBE,B!!(*1P@<_V[A TA)0$CC9X\9CUN2X7Y[
M0/_L?4=?-MS"!RU_B-)5J_@L9B5L>2O=-]W] ;T_[PBOT-+Z+^O"VCR-6=%:
MI^O>&!G40H5_?M?KL&=P]IK!K#>8>=YA(\_R(W=\O32Z8X96(QHUO*O>&LD)
M14&Y=@9G!=JY]2=NE% [RQK 4%7<P#)QB$NS2=%C7 :,V2L8.?NJE:LL^Z1*
M*!_;)\AG)#4;2%W.#@)^Y6;*\FS"9NEL?@ O'YW,/5[^9B?9/Q<;ZPSFQ+\O
M^1O@YB_#49TL;,,+6,58"!;,+<3KWW[)3M/?#Y"=CV3GA]#?&)'#&*=3]H+/
MWRM@6RVQ#G&".;Z1P"PXBX/&5<SAM(%"JT)(P7W-Z"VEO"@85R4KA6P=E*SS
MF8X-?@L&"S>@6X8E;QTN)/!%]+TR (\2(\*P%A7%-:*XTB>/CKXHW%BW%@WM
MA,%= 8TCSB>!<XE)?1S]B:?3D=36'C.A"EU#]&MTE$W2_#0ZQF8^R?+SZ-K3
M6$27Q'C!?CREB78U^O2<;70^.7\_HV^>1A=EN6 ?R54\+1ALMWA\D [[WNF&
MU+%>%<1R1A2T$19K<<-:)5!2;O%L<&"P9'%F<^_5=7ALVM;<]RMK0,_+Z"3*
MLCSZ&-1]G3=MUC?A9RMNN03E7O<F2R?I/'^NG,^'?2EZP4C1=)JE7M!TFL\&
M1D\G,I]'B-"T;LR2(3?@>=9A2&5;(D=2X$%/ZC7:H0^"2UP$IA 6:":(PSMN
M*".0-9J3ZF'\_[6?L*X"RBJ(!@GQOKE!(1I<#,/F@P;>4%B&98&<7<558#HP
M>F1D0/*'[3Q'5K;&UU/EM16ZG%#TJ>NYVUXB'$"T?>=P?F!R4,M.MQ)S"-!G
M)T[*/C>G#*^ED%:^U.I0:D"EQL92\T?HA)9A*#KZG)V/!1?A;F,,Y#T;H(>L
MPK/ "NM\RC^."^GD EX?WY)MC:Z#/UP6K1S]>903@W-^!W2A-42MU@8HU+V
M-D20,X5!H^2E^!AH\)@"5->VZ%LO\1M\?W:"12/LTUI@]!OH(Q0&KX^LY5@Z
MH6"G+QWRR=X57(/9^8<&*=@J%V[C<71\RUR$*_QA>7@((?^=P R7L$73=/K^
M7<Q,>%R$CM.-O] WVN'SP#<K?(^!H04XO]48T[Y#&XPOO/5_4$L#!!0    (
M #V)KE@[8D?A_P0  ) +   9    >&PO=V]R:W-H965T<R]S:&5E=#$T+GAM
M;)566V_;-A1^UZ\@W*Y8 <<7V8[37 PD:;L-:+&BR=:'80^,=&P1E4B5I.)D
MOW[?(679N7D88.M"G7/X?>?&<[HV]KLKB+RXJTKMSGJ%]_7Q<.BR@BKI!J8F
MC2]+8ROI\6I70U=;DGE0JLIA.AH=#BNI=&]Q&M:^V,6I:7RI-'VQPC55)>W]
M!95F?=8;]S8+7]6J\+PP7)S6<D57Y/^HOUB\#3LKN:I(.V6TL+0\ZYV/CR^F
M+!\$_E2T=CO/@IG<&/.=7W[+SWHC!D0E99XM2-QNZ9+*D@T!QH_69J_;DA5W
MGS?6/P;NX'(C'5V:\IO*?7'6.^J)G):R*?U7L_Z56CXSMI>9TH6K6$?9,82S
MQGE3M<I 4"D=[_*N]<..PM'H!86T54@#[KA10/E>>KDXM68M+$O#&C\$JD$;
MX)3FH%QYBZ\*>G[QB4#)G0X];/'*,&OU+J)>^H+>1'PVVA=.?- YY0_UA\#0
M 4DW0"[2O08_2SL0DW%?I*-TNL?>I",V"?8F>XF)O\YOG+>(_=_/<8PFIL^;
MX'HX=K7,Z*R'A'=D;ZFW>/-J?#@ZV0-PV@&<[K.^Q_-[]9Y'-1^(EO W0J9G
MIM%>H&1%&5>5#JLVESHCI)@OQ/G5I;@VM<K$T30]WE$G[<E"PYNH+>3*$J$0
MO0LF?4&BP;)9HBIE*<AYZ4D$3$+J7&1D/=J!H!^-JEE/-$@2*]!)K/1*KS:H
M6'A-HI"W)+012Z4!;_M]('YO.@;2$C!E98-TPT/RYM51FHY.0A<Y,,L#(#J0
MSI%WX<OX)%AOI0(Y42IYHTKE%74R0&FPQZ4!0.U@&4_.E"H'HUQ<R#+XZXK+
MZR&<@/E66F4:U[H)7JM<7SA3!=^L"Y45&\C@SDW("3B5[CSIO T8WFK>62@'
M;V9FI=4_V)G[E>#$#?0X!;CW0,;<4HS =D_@>NC8SN8F6KY  $45"Y:X8 7*
M#>@V]9:PK_ P$6OIQ.OT*$U\ 6:\S/_7Z60N-BM] '4UA79:WO>#0$!?&\M>
M@X76[9?&>7:%DV7G\O[FXP>] BVR@-U''W5JI8.IVIJ\R3R68-[$_&D);4QL
M@G^%9LZL60U'RG<*/G@DO)L'OY"&I\JP)'.T4\4^9B*/M#@QV',O),859WRL
M"-!KW0^!%T/AND1P!;QTP'%K)3(X"6D3TV5-G.8X'R&@ #1OV#\!"@PKDSL1
MBAXEB@RZ+CC&)0Y6%E(ZGM'QN&S%'([;NBX#6+:G7%8:U]AM<K@-%Z:225>(
M)0QR/,O %1G[I'!_#NZ)Z>#>'B?7(<%V3X2D2[ D)!@G5[)U3M@',T+<:FE-
MZPV7O$[2V3Q<TT?\XMR \D SR'/%/,'H(>LMY)W.$8+T,.%#!KRGC*H;U%.[
M.CE.'I7%$XGD6SCF.<M1B)A:L">//MN A\BR?^Y)6O<V&0]F^,^?*G(H0IN&
M2RB9#J;)3_$::(,10N_O&7I,Q*J6^I[3<SP_<8]#LMO;_@?AF&_2M5Y^&MC_
M]$=8GJ?SY-W1C%]FR7R<XA^^'"9IRK]KP[F'0Z"E#"]$U+6\#U64C/O3PS&N
M\W24?"*'<JGJQH=.#X?BA$EF;+6U](0R\@461N_"_7#Z3CQW/@]WIJ2*["K,
M@DX$1'%@ZE:[<?,\3EE;\3BKPBUH7MSXEU =#>:SGK!Q_HLOWM1AYKHQ'A-<
M>"PP,I-E 7Q?&N,W+[Q!-X0O_@502P,$%     @ /8FN6'K;9EF3 P  $P@
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
MG=PH7+W<-7O./"VAX\W\Q?2I/OVV%4+(=RHK;5YN-2_7.*_[.)!L#6XEE4R
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
MGQW>W>_P1FI'NN2J%'YU4H=?G8 []G9YRGM]CQ>859-[+;_>Y+B2,O&I;'X
M^24^Q[MTB!LSUC]P>F^_TYNY'6N773K%[9.:'3>FZV/I[[(P/I2&CW'[$?D3
M-='=Y4[<F-[^ZD0T(S>>"+=R[S5O"'VQG%.]M0QB#>:U+C6VR*_E>47QS%Z%
MIUSIB[4M+O13!H09H/MCSM6V8F[7Y>,H_ -02P,$%     @ /8FN6,Z^TI5I
M @  / 8  !D   !X;"]W;W)K<VAE971S+W-H965T,C@N>&ULK55=3]LP%/TK
M5H8FD#;RW0!K(T$K-!XF(3JVAVD/;G+;6"1V9KL-^_>[=M(HE%#QL)?&'_<<
MGV/?>SMMA'Q2!8 FSU7)U<PIM*ZO7%=E!514G8L:..ZLA:RHQJG<N*J60',+
MJDHW\+R)6U'&G71JU^YE.A5;73(.]Y*H;551^?<&2M','-_9+SRP3:'-@IM.
M:[J!)>C'^E[BS.U9<E8!5TQP(F$]<Z[]JWELXFW #P:-&HR)<;(2XLE,[O*9
MXQE!4$*F#0/%SP[F4):&"&7\Z3B=_D@#'([W[+?6.WI9405S4?YDN2YFSH5#
M<EC3;:D?1/,5.C]68"9*97])T\9&B4.RK=*BZL"HH&*\_=+G[AX& #]Z Q!T
M@."]@+ #A-9HJ\S:6E!-TZD4#9$F&MG,P-Z-1:,;QLTK+K7$788XG=[Q'7 M
M) -%3A>@*2O5&?E,'I<+<GIR1DX(X^1[(;:*\EQ-78UG&J2;=?PW+7_P!O\W
M*L])Z'\B@1=$(_#Y<?@"LAX>OH2[Z+2W&_1V \L7OL/NK^N5TA+SZ/>8K98G
M&N<QM76E:IK!S,'B42!WX*0?/_@3[\N8R?]$]L)RV%L.C[&G#[3!A-$@&2T5
MP5<D]59F!:9^3C)1U8+CC9":2CWZO"WYQ)*;EK!+?6\2X5/NA@9?1UV&%T$?
M]$)XU N/C@J_99QA8N=D(\1XZK7X>'#J11PD!])&@L(D&9<6]]+BH](&:32F
M*WY]9Y=^XA\(&XE*DOCR0)D[J&W35[&@-HPK4L(:<=YY@C2R[57M1(O:EOM*
M:&P>=EA@>P=I G!_+83>3TP'Z?\PTG]02P,$%     @ /8FN6.(*N/F(!0
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
M4W4O<>:V+"DK@2LF.)&0S9Q+_V)Q9NIMP3<&6]49$^-D*<2SF=RF,\<S@J"
M1!L&BH\-+* H#!'*^-5P.FU+ ^R.]^PWUCMZ65(%"U%\9ZG.9\XGAZ20T76A
M'\3V"S1^K,!$%,K^DFU=.\;B9*VT*!LP*B@9KY]TUYQ#!X \_8"@ 00O >-7
M &$#"*W16IFU=44UC2,IMD2::F0S WLV%HUN&#=O\5%+W&6(T_$M3T0)1-,=
M*#*X DU9H8;DE#P]7I'!R9"<$,;)UURL%>6IBER-30W439H&\[I!\$J#D-P)
MKG-%KGD*Z2'>1;&MXF"O>!X<);RC<D1"_R,)O&#<HV?Q=GAX1$[8'F!H^<*W
M'."/RZ72$C_-GWT'51.-^XG,=;U0%4U@YN!]5" WX,0?WOD3[W.?R_]$=N!Y
MW'H>'V/O>":#)7#(F!X2V&&R*.@S7K--+)N)E4U\&DRGD;OI&OJW:!*<MS4'
M.L]:G6='=5YG&=B8L%(EU;WJCG,, G_D>^^'?>^@1IYW)'LC?S)](=KMW,X2
MY,J&EB*)6'-=?_;M:IN+ES8.7JS/,2_K>/M+4X<M?M0KQA4I($-*;S1%9;(.
ML'JB164S8"DT)HH=YICY($T![F="Z/W$-&C_1>(_4$L#!!0    ( #V)KEA1
M$IZV)0,  $82   -    >&PO<W1Y;&5S+GAM;-U8T6[:,!3]E<A=IU::&B C
M)2M!VI J3=JF2NW#WBI#'+#DV)EC.MC7SS<."5#?JNO#5A9$8]_C<^ZQ?5-'
MC"NS$>QVR9@)UH6054J6QI0?PK":+UE!JPM5,FF17.F"&MO5B[ J-:-9!:1"
MA(->+PX+RB69C.6JN"Y,%<S52IJ4#-M0X&Z?LY3TX_<D<')3E;&4W)^]_;%2
MYNI-X.XG[TY.>O?G5X?QLQHX)Z%7=/@,T8L>KFLQ3#I^EO03RICPY;[PUL>I
ME6I-G6+DD8?<,1TM;#9D,LZ5[/8E(BY@=6G!@@<J4C*E@L\T!U9."RXV+CR
MP%P)I0-C"\(FZD.D^N7@ONM!K30Z!9=*U[E=!O=WU@P_ +8],,B%: T.B M,
MQB4UAFEY;3OUX#KX" J:]MVFM X7FF[Z@R'I"/7-)IDIG3'=INF3;6@R%BP'
M.YHOEG WJ@P!-$85MI%QNE"2UAZVC*9A9>=,B%MXD+[G>]KK?&?'>K!?LFU:
M0TW3R;@.Z.^J.>U=V9?I!B5_4.;3RDY'UGVH3W:C6<[7=7^=MP8P]3ZN3LM2
M;#X*OI %<Y-_=L+)F&YYP5)I_LMF@U*9VP#3)'A@VO#Y;N2GIN4=6YMM.:US
MW//@"#W_W75>,,DT%;NF;>V_YE5^L>/H\E]9KO^K'!KV>FQ.Q]=N<G@,)N-C
M,'D4-3EZE2;#YFS<.8#WCM\V&L!K3DJ^P>N2Z)(&LQ47ALNFM^19QN2C4]C*
M&SJS+\E[^G9\QG*Z$N:N!5/2M;^RC*^*I!UU PO1C.K:7V!Z_;A]Q[*YN,S8
MFF73IJL7L[H9V(;-VEQ .$2NZ\N/8!R'^1' L#R8 XSC6%B>_VD^(W0^#L.\
MC;S(".6,4(YC^9!I_<'R^#F)O?PS39(HBF-L1:=3KX,IMFYQ#%^_&N8-&%@>
MR/1G:XWO-EXA3]<!MJ=/50@V4[P2L9GB:PV(?]V D23^W<;R  /;!:QV(+\_
M#]24GQ-%L*N8-^P)QI$DP1"H17^-QC&R.C%\_/N#/251E"1^!#"_@RC"$'@:
M<01S !XP)(KJ<_#@/ JWYU38_7(T^0U02P,$%     @ /8FN6)>*NQS
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
M82I'@2I'H2I'P2I'X2I' 2M'(:M (:M (:M (:M (:M (:M (:M (:M (:M
M(:M (6N*0M84A:SI?Y+U0^OE7__Q:M>DEJHY^+/NM^+L"U!+ 0(4 Q0    (
M #V)KE@'04UB@0   +$    0              "  0    !D;V-0<F]P<R]A
M<' N>&UL4$L! A0#%     @ /8FN6/UB F_O    *P(  !$
M ( !KP   &1O8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ /8FN6)E<G",0
M!@  G"<  !,              ( !S0$  'AL+W1H96UE+W1H96UE,2YX;6Q0
M2P$"% ,4    "  ]B:Y8O9WK7OH%  #?'P  &               @($."
M>&PO=V]R:W-H965T<R]S:&5E=#$N>&UL4$L! A0#%     @ /8FN6*0G8RWP
M!@  81T  !@              ("!/@X  'AL+W=O<FMS:&5E=',O<VAE970R
M+GAM;%!+ 0(4 Q0    ( #V)KECMOF08@0,  "$+   8              "
M@605  !X;"]W;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    "  ]B:Y8
MSDDOPQ4%  #N%   &               @($;&0  >&PO=V]R:W-H965T<R]S
M:&5E=#0N>&UL4$L! A0#%     @ /8FN6(4ULB#* @  50<  !@
M     ("!9AX  'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    (
M #V)KEA*FO'& @8  )89   8              " @68A  !X;"]W;W)K<VAE
M971S+W-H965T-BYX;6Q02P$"% ,4    "  ]B:Y8F/M C+X&  "R,   &
M            @(&>)P  >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#
M%     @ /8FN6&YYWX ["   L1,  !@              ("!DBX  'AL+W=O
M<FMS:&5E=',O<VAE970X+GAM;%!+ 0(4 Q0    ( #V)KEBC70^@B0(  ! &
M   8              " @0,W  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q0
M2P$"% ,4    "  ]B:Y81T9Q4A4'  #.$   &0              @('".0
M>&PO=V]R:W-H965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( #V)KEC(HS@V
M:P(  %P%   9              " @0Y!  !X;"]W;W)K<VAE971S+W-H965T
M,3$N>&UL4$L! A0#%     @ /8FN6'8$=ID6!@  ;Q   !D
M ("!L$,  'AL+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    "  ]
MB:Y8*O"!1"D$  #M"0  &0              @(']20  >&PO=V]R:W-H965T
M<R]S:&5E=#$S+GAM;%!+ 0(4 Q0    ( #V)KE@[8D?A_P0  ) +   9
M          " @5U.  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#
M%     @ /8FN6'K;9EF3 P  $P@  !D              ("!DU,  'AL+W=O
M<FMS:&5E=',O<VAE970Q-2YX;6Q02P$"% ,4    "  ]B:Y8E:=DW9L"  #P
M!0  &0              @(%=5P  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM
M;%!+ 0(4 Q0    ( #V)KEA4H!.Q0@(  ) &   9              " @2]:
M  !X;"]W;W)K<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ /8FN6!S/
M'!*+!   %PH  !D              ("!J%P  'AL+W=O<FMS:&5E=',O<VAE
M970Q."YX;6Q02P$"% ,4    "  ]B:Y86/- 76T"  "2!0  &0
M    @(%J80  >&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    (
M #V)KE@JD7@Q/@0  $P)   9              " @0YD  !X;"]W;W)K<VAE
M971S+W-H965T,C N>&UL4$L! A0#%     @ /8FN6&Q#V^)P @  5@4  !D
M             ("!@V@  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"
M% ,4    "  ]B:Y8&I+0 1T#  #U!@  &0              @($J:P  >&PO
M=V]R:W-H965T<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( #V)KECLN%UGD ,
M  D)   9              " @7YN  !X;"]W;W)K<VAE971S+W-H965T,C,N
M>&UL4$L! A0#%     @ /8FN6.S]FM3" @  B0H  !D              ("!
M17(  'AL+W=O<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    "  ]B:Y8
M0\G:4LL%  #9*@  &0              @($^=0  >&PO=V]R:W-H965T<R]S
M:&5E=#(U+GAM;%!+ 0(4 Q0    ( #V)KEB8D'$[-0,  +D*   9
M      " @4![  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%
M  @ /8FN6,8Q%E'Q @  * T  !D              ("!K'X  'AL+W=O<FMS
M:&5E=',O<VAE970R-RYX;6Q02P$"% ,4    "  ]B:Y8SK[2E6D"   \!@
M&0              @('4@0  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+
M 0(4 Q0    ( #V)KECB"KCYB 4  $<A   9              " @72$  !X
M;"]W;W)K<VAE971S+W-H965T,CDN>&UL4$L! A0#%     @ /8FN6*C5-%CZ
M P  V0X  !D              ("!,XH  'AL+W=O<FMS:&5E=',O<VAE970S
M,"YX;6Q02P$"% ,4    "  ]B:Y8Z_9P^$$$  "($P  &0
M@(%DC@  >&PO=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( #V)
MKEC5YHI==0(  %$&   9              " @=R2  !X;"]W;W)K<VAE971S
M+W-H965T,S(N>&UL4$L! A0#%     @ /8FN6%$2GK8E P  1A(   T
M         ( !B)4  'AL+W-T>6QE<RYX;6Q02P$"% ,4    "  ]B:Y8EXJ[
M',     3 @  "P              @ '8F   7W)E;',O+G)E;'-02P$"% ,4
M    "  ]B:Y8Q#"852\#  !R%0  #P              @ '!F0  >&PO=V]R
M:V)O;VLN>&UL4$L! A0#%     @ /8FN6(H3@V1C 0  MQ,  !H
M     ( !'9T  'AL+U]R96QS+W=O<FMB;V]K+GAM;"YR96QS4$L! A0#%
M  @ /8FN6%4IDH^) 0  7A0  !,              ( !N)X  %M#;VYT96YT
A7U1Y<&5S72YX;6Q02P4&     "@ * #/"@  <J

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

..report .outerFootnotes {
	font-size: 1em;
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>48
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='utf-8'?>
<FilingSummary>
  <Version>3.24.1.1.u2</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>74</ContextCount>
  <ElementCount>176</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>18</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>4</UnitCount>
  <MyReports>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>000100 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>010000 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/CondensedConsolidatedBalanceSheets</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>010100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>020000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>030000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>040000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>050000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity</Role>
      <ShortName>CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>060100 - Disclosure - Basis of presentation</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/BasisOfPresentation</Role>
      <ShortName>Basis of presentation</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>060200 - Disclosure - Significant accounting policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SignificantAccountingPolicies</Role>
      <ShortName>Significant accounting policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>060300 - Disclosure - Revenue</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Revenue</Role>
      <ShortName>Revenue</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>060400 - Disclosure - Inventories</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Inventories</Role>
      <ShortName>Inventories</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>060500 - Disclosure - Borrowings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Borrowings</Role>
      <ShortName>Borrowings</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>060600 - Disclosure - Earnings per share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShare</Role>
      <ShortName>Earnings per share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>060700 - Disclosure - Leases</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/Leases</Role>
      <ShortName>Leases</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>060800 - Disclosure - Income taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxes</Role>
      <ShortName>Income taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>060900 - Disclosure - Subsequent events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>061000 - Disclosure - Insider Trading Arrangements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/InsiderTradingArrangements</Role>
      <ShortName>Insider Trading Arrangements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>070100 - Disclosure - Basis of presentation (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/BasisOfPresentationPolicies</Role>
      <ShortName>Basis of presentation (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>070200 - Disclosure - Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/SignificantAccountingPoliciesPolicies</Role>
      <ShortName>Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>080300 - Disclosure - Revenue (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RevenueTables</Role>
      <ShortName>Revenue (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Revenue</ParentRole>
      <Position>20</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>080400 - Disclosure - Inventories (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/InventoriesTables</Role>
      <ShortName>Inventories (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Inventories</ParentRole>
      <Position>21</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>080600 - Disclosure - Earnings per share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShareTables</Role>
      <ShortName>Earnings per share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/EarningsPerShare</ParentRole>
      <Position>22</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>080700 - Disclosure - Leases (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/LeasesTables</Role>
      <ShortName>Leases (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Leases</ParentRole>
      <Position>23</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>090100 - Disclosure - Basis of presentation (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/BasisOfPresentationDetails</Role>
      <ShortName>Basis of presentation (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/BasisOfPresentationPolicies</ParentRole>
      <Position>24</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>090300 - Disclosure - Revenue, Disaggregation of Revenue (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails</Role>
      <ShortName>Revenue, Disaggregation of Revenue (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>090302 - Disclosure - Revenue, Contract Balances (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RevenueContractBalancesDetails</Role>
      <ShortName>Revenue, Contract Balances (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>090304 - Disclosure - Revenue, Remaining Performance Obligations (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails</Role>
      <ShortName>Revenue, Remaining Performance Obligations (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>090400 - Disclosure - Inventories (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/InventoriesDetails</Role>
      <ShortName>Inventories (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/InventoriesTables</ParentRole>
      <Position>28</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>090500 - Disclosure - Borrowings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/BorrowingsDetails</Role>
      <ShortName>Borrowings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/Borrowings</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>090600 - Disclosure - Earnings per share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/EarningsPerShareDetails</Role>
      <ShortName>Earnings per share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/EarningsPerShareTables</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>090700 - Disclosure - Leases (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/LeasesDetails</Role>
      <ShortName>Leases (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/LeasesTables</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="ef20027082_10q.htm">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>090800 - Disclosure - Income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://transact-tech.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://transact-tech.com/role/IncomeTaxes</ParentRole>
      <Position>32</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <Logs>
    <Log type="Warning">[ix-0514-Hidden-Fact-Eligible-For-Transform] WARN: 2 fact(s) appearing in ix:hidden were eligible for transformation: us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 -  ef20027082_10q.htm 11</Log>
  </Logs>
  <InputFiles>
    <File doctype="10-Q" isDefinitelyFs="true" isUsgaap="true" original="ef20027082_10q.htm">ef20027082_10q.htm</File>
    <File>tact-20240331.xsd</File>
    <File>tact-20240331_cal.xml</File>
    <File>tact-20240331_def.xml</File>
    <File>tact-20240331_lab.xml</File>
    <File>tact-20240331_pre.xml</File>
  </InputFiles>
  <SupplementalFiles>
    <File>image01.jpg</File>
  </SupplementalFiles>
  <BaseTaxonomies>
    <BaseTaxonomy items="321">http://fasb.org/us-gaap/2023</BaseTaxonomy>
    <BaseTaxonomy items="30">http://xbrl.sec.gov/dei/2023</BaseTaxonomy>
    <BaseTaxonomy items="4">http://xbrl.sec.gov/ecd/2023</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>JSON
<SEQUENCE>51
<FILENAME>MetaLinks.json
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
{
 "version": "2.2",
 "instance": {
  "ef20027082_10q.htm": {
   "nsprefix": "tact",
   "nsuri": "http://transact-tech.com/20240331",
   "dts": {
    "inline": {
     "local": [
      "ef20027082_10q.htm"
     ]
    },
    "schema": {
     "local": [
      "tact-20240331.xsd"
     ],
     "remote": [
      "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xl-2003-12-31.xsd",
      "http://www.xbrl.org/2003/xlink-2003-12-31.xsd",
      "http://www.xbrl.org/2004/ref-2004-08-10.xsd",
      "http://www.xbrl.org/2005/xbrldt-2005.xsd",
      "http://www.xbrl.org/2006/ref-2006-02-27.xsd",
      "http://www.xbrl.org/lrr/arcrole/factExplanatory-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/net-2009-12-16.xsd",
      "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd",
      "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd",
      "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd",
      "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd",
      "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd",
      "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd",
      "https://xbrl.sec.gov/country/2023/country-2023.xsd",
      "https://xbrl.sec.gov/currency/2023/currency-2023.xsd",
      "https://xbrl.sec.gov/dei/2023/dei-2023.xsd",
      "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd",
      "https://xbrl.sec.gov/exch/2023/exch-2023.xsd",
      "https://xbrl.sec.gov/naics/2023/naics-2023.xsd",
      "https://xbrl.sec.gov/sic/2023/sic-2023.xsd",
      "https://xbrl.sec.gov/stpr/2023/stpr-2023.xsd"
     ]
    },
    "calculationLink": {
     "local": [
      "tact-20240331_cal.xml"
     ]
    },
    "definitionLink": {
     "local": [
      "tact-20240331_def.xml"
     ]
    },
    "labelLink": {
     "local": [
      "tact-20240331_lab.xml"
     ]
    },
    "presentationLink": {
     "local": [
      "tact-20240331_pre.xml"
     ]
    }
   },
   "keyStandard": 163,
   "keyCustom": 13,
   "axisStandard": 9,
   "axisCustom": 0,
   "memberStandard": 12,
   "memberCustom": 6,
   "hidden": {
    "total": 10,
    "http://fasb.org/us-gaap/2023": 5,
    "http://xbrl.sec.gov/dei/2023": 5
   },
   "contextCount": 74,
   "entityCount": 1,
   "segmentCount": 18,
   "elementCount": 264,
   "unitCount": 4,
   "baseTaxonomies": {
    "http://fasb.org/us-gaap/2023": 321,
    "http://xbrl.sec.gov/dei/2023": 30,
    "http://xbrl.sec.gov/ecd/2023": 4
   },
   "report": {
    "R1": {
     "role": "http://transact-tech.com/role/DocumentAndEntityInformation",
     "longName": "000100 - Document - Document and Entity Information",
     "shortName": "Document and Entity Information",
     "isDefault": "true",
     "groupType": "document",
     "subGroupType": "",
     "menuCat": "Cover",
     "order": "1",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "dei:DocumentType",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "span",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R2": {
     "role": "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
     "longName": "010000 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "2",
     "firstAnchor": {
      "contextRef": "c20240331",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240331",
      "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R3": {
     "role": "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical",
     "longName": "010100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "parenthetical",
     "menuCat": "Statements",
     "order": "3",
     "firstAnchor": {
      "contextRef": "c20240331",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240331",
      "name": "us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R4": {
     "role": "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations",
     "longName": "020000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "4",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:CostOfRevenue",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "unique": true
     }
    },
    "R5": {
     "role": "http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome",
     "longName": "030000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "5",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:ComprehensiveIncomeNetOfTax",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "unique": true
     }
    },
    "R6": {
     "role": "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows",
     "longName": "040000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "6",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:ShareBasedCompensation",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "unique": true
     }
    },
    "R7": {
     "role": "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity",
     "longName": "050000 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY",
     "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY",
     "isDefault": "false",
     "groupType": "statement",
     "subGroupType": "",
     "menuCat": "Statements",
     "order": "7",
     "firstAnchor": {
      "contextRef": "c20221231_StatementEquityComponentsAxis_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20221231_StatementEquityComponentsAxis_CommonStockMember",
      "name": "us-gaap:StockholdersEquity",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R8": {
     "role": "http://transact-tech.com/role/BasisOfPresentation",
     "longName": "060100 - Disclosure - Basis of presentation",
     "shortName": "Basis of presentation",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "8",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R9": {
     "role": "http://transact-tech.com/role/SignificantAccountingPolicies",
     "longName": "060200 - Disclosure - Significant accounting policies",
     "shortName": "Significant accounting policies",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "9",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R10": {
     "role": "http://transact-tech.com/role/Revenue",
     "longName": "060300 - Disclosure - Revenue",
     "shortName": "Revenue",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "10",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:RevenueFromContractWithCustomerTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R11": {
     "role": "http://transact-tech.com/role/Inventories",
     "longName": "060400 - Disclosure - Inventories",
     "shortName": "Inventories",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "11",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:InventoryDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R12": {
     "role": "http://transact-tech.com/role/Borrowings",
     "longName": "060500 - Disclosure - Borrowings",
     "shortName": "Borrowings",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "12",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:DebtDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R13": {
     "role": "http://transact-tech.com/role/EarningsPerShare",
     "longName": "060600 - Disclosure - Earnings per share",
     "shortName": "Earnings per share",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "13",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:EarningsPerShareTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R14": {
     "role": "http://transact-tech.com/role/Leases",
     "longName": "060700 - Disclosure - Leases",
     "shortName": "Leases",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "14",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:LesseeOperatingLeasesTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R15": {
     "role": "http://transact-tech.com/role/IncomeTaxes",
     "longName": "060800 - Disclosure - Income taxes",
     "shortName": "Income taxes",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "15",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:IncomeTaxDisclosureTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R16": {
     "role": "http://transact-tech.com/role/SubsequentEvents",
     "longName": "060900 - Disclosure - Subsequent events",
     "shortName": "Subsequent events",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "16",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:SubsequentEventsTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R17": {
     "role": "http://transact-tech.com/role/InsiderTradingArrangements",
     "longName": "061000 - Disclosure - Insider Trading Arrangements",
     "shortName": "Insider Trading Arrangements",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "",
     "menuCat": "Notes",
     "order": "17",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:NonRule10b51ArrAdoptedFlag",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "ecd:Rule10b51ArrAdoptedFlag",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ecd:NonRule10b51ArrAdoptedFlag",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R18": {
     "role": "http://transact-tech.com/role/BasisOfPresentationPolicies",
     "longName": "070100 - Disclosure - Basis of presentation (Policies)",
     "shortName": "Basis of presentation (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "18",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R19": {
     "role": "http://transact-tech.com/role/SignificantAccountingPoliciesPolicies",
     "longName": "070200 - Disclosure - Significant Accounting Policies (Policies)",
     "shortName": "Significant Accounting Policies (Policies)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "policies",
     "menuCat": "Policies",
     "order": "19",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "div",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R20": {
     "role": "http://transact-tech.com/role/RevenueTables",
     "longName": "080300 - Disclosure - Revenue (Tables)",
     "shortName": "Revenue (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "20",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:DisaggregationOfRevenueTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R21": {
     "role": "http://transact-tech.com/role/InventoriesTables",
     "longName": "080400 - Disclosure - Inventories (Tables)",
     "shortName": "Inventories (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "21",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:ScheduleOfInventoryCurrentTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R22": {
     "role": "http://transact-tech.com/role/EarningsPerShareTables",
     "longName": "080600 - Disclosure - Earnings per share (Tables)",
     "shortName": "Earnings per share (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "22",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R23": {
     "role": "http://transact-tech.com/role/LeasesTables",
     "longName": "080700 - Disclosure - Leases (Tables)",
     "shortName": "Leases (Tables)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "tables",
     "menuCat": "Tables",
     "order": "23",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
      "unitRef": null,
      "xsiNil": "false",
      "lang": "en-US",
      "decimals": null,
      "ancestors": [
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R24": {
     "role": "http://transact-tech.com/role/BasisOfPresentationDetails",
     "longName": "090100 - Disclosure - Basis of presentation (Details)",
     "shortName": "Basis of presentation (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "24",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:OperatingExpenses",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember",
      "name": "us-gaap:OperatingExpenses",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-6",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "unique": true
     }
    },
    "R25": {
     "role": "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails",
     "longName": "090300 - Disclosure - Revenue, Disaggregation of Revenue (Details)",
     "shortName": "Revenue, Disaggregation of Revenue (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "25",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331_StatementGeographicalAxis_US",
      "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "unique": true
     }
    },
    "R26": {
     "role": "http://transact-tech.com/role/RevenueContractBalancesDetails",
     "longName": "090302 - Disclosure - Revenue, Contract Balances (Details)",
     "shortName": "Revenue, Contract Balances (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "26",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "tact:ContractWithCustomerRevenueRecognized",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "tact:ContractWithCustomerRevenueRecognized",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R27": {
     "role": "http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails",
     "longName": "090304 - Disclosure - Revenue, Remaining Performance Obligations (Details)",
     "shortName": "Revenue, Remaining Performance Obligations (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "27",
     "firstAnchor": {
      "contextRef": "c20240331",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240331",
      "name": "us-gaap:RevenueRemainingPerformanceObligation",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R28": {
     "role": "http://transact-tech.com/role/InventoriesDetails",
     "longName": "090400 - Disclosure - Inventories (Details)",
     "shortName": "Inventories (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "28",
     "firstAnchor": {
      "contextRef": "c20240331",
      "name": "us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240331",
      "name": "us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R29": {
     "role": "http://transact-tech.com/role/BorrowingsDetails",
     "longName": "090500 - Disclosure - Borrowings (Details)",
     "shortName": "Borrowings (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "29",
     "firstAnchor": {
      "contextRef": "c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember",
      "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-5",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R30": {
     "role": "http://transact-tech.com/role/EarningsPerShareDetails",
     "longName": "090600 - Disclosure - Earnings per share (Details)",
     "shortName": "Earnings per share (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "30",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:NetIncomeLoss",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
      "unitRef": "U001",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "ix:continuation",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "unique": true
     }
    },
    "R31": {
     "role": "http://transact-tech.com/role/LeasesDetails",
     "longName": "090700 - Disclosure - Leases (Details)",
     "shortName": "Leases (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "31",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:OperatingLeaseExpense",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true,
      "unique": true
     }
    },
    "R32": {
     "role": "http://transact-tech.com/role/IncomeTaxesDetails",
     "longName": "090800 - Disclosure - Income taxes (Details)",
     "shortName": "Income taxes (Details)",
     "isDefault": "false",
     "groupType": "disclosure",
     "subGroupType": "details",
     "menuCat": "Details",
     "order": "32",
     "firstAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:IncomeTaxExpenseBenefit",
      "unitRef": "U002",
      "xsiNil": "false",
      "lang": null,
      "decimals": "-3",
      "ancestors": [
       "div",
       "div",
       "td",
       "tr",
       "table",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "first": true
     },
     "uniqueAnchor": {
      "contextRef": "c20240101to20240331",
      "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations",
      "unitRef": "U004",
      "xsiNil": "false",
      "lang": null,
      "decimals": "3",
      "ancestors": [
       "span",
       "div",
       "ix:continuation",
       "div",
       "body",
       "html"
      ],
      "reportCount": 1,
      "baseRef": "ef20027082_10q.htm",
      "unique": true
     }
    }
   },
   "tag": {
    "us-gaap_AccountingPoliciesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountingPoliciesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant accounting policies [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AccountsPayableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsPayableCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts payable",
        "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r12",
      "r452"
     ]
    },
    "us-gaap_AccountsReceivableNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccountsReceivableNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accounts receivable, net of allowance for expected credit losses of $668 and $768",
        "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current."
       }
      }
     },
     "auth_ref": [
      "r182",
      "r183"
     ]
    },
    "us-gaap_AccruedLiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccruedLiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities",
        "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable, pertaining to costs that are statutory in nature, are incurred on contractual obligations, or accumulate over time and for which invoices have not yet been received or will not be rendered. Examples include taxes, interest, rent and utilities. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)."
       }
      }
     },
     "auth_ref": [
      "r15"
     ]
    },
    "us-gaap_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Fixed assets, accumulated depreciation",
        "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment",
        "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services."
       }
      }
     },
     "auth_ref": [
      "r37",
      "r110",
      "r325"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accumulated other comprehensive loss, net of tax",
        "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source."
       }
      }
     },
     "auth_ref": [
      "r23",
      "r24",
      "r68",
      "r115",
      "r322",
      "r343",
      "r344"
     ]
    },
    "us-gaap_AccumulatedOtherComprehensiveIncomeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AccumulatedOtherComprehensiveIncomeMember",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Accumulated Other Comprehensive Loss [Member]",
        "label": "AOCI Attributable to Parent [Member]",
        "documentation": "Accumulated increase (decrease) in equity from transactions and other events and circumstances from non-owner sources, attributable to the parent. Excludes net income (loss), and accumulated changes in equity from transactions resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r2",
      "r7",
      "r24",
      "r283",
      "r286",
      "r308",
      "r339",
      "r340",
      "r477",
      "r478",
      "r479",
      "r484",
      "r485",
      "r486"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalCommonStock": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalCommonStock",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional paid-in capital",
        "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital."
       }
      }
     },
     "auth_ref": [
      "r60"
     ]
    },
    "us-gaap_AdditionalPaidInCapitalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdditionalPaidInCapitalMember",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Additional Paid-in Capital [Member]",
        "documentation": "Excess of issue price over par or stated value of the entity's capital stock and amounts received from other transactions involving the entity's stock or stockholders."
       }
      }
     },
     "auth_ref": [
      "r257",
      "r258",
      "r259",
      "r348",
      "r484",
      "r485",
      "r486",
      "r503",
      "r522"
     ]
    },
    "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Share-based compensation expense",
        "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition",
        "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r42",
      "r43",
      "r251"
     ]
    },
    "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Adjustments to reconcile net (loss) income to net cash used in operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AllowanceForDoubtfulAccountsReceivableCurrent",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Allowance for expected credit losses",
        "documentation": "Amount of allowance for credit loss on accounts receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r116",
      "r184",
      "r188"
     ]
    },
    "dei_AmendmentFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "AmendmentFlag",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Amendment Flag",
        "documentation": "Boolean flag that is true when the XBRL content amends previously-filed or accepted submission."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)",
        "documentation": "Securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) or earnings per unit (EPU) in the future that were not included in the computation of diluted EPS or EPU because to do so would increase EPS or EPU amounts or decrease loss per share or unit amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r161"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities [Axis]",
        "documentation": "Information by type of antidilutive security."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareLineItems",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities Excluded from Computation of Earnings Per Share [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AntidilutiveSecuritiesNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AntidilutiveSecuritiesNameDomain",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Antidilutive Securities, Name [Domain]",
        "documentation": "Incremental common shares attributable to securities that were not included in diluted earnings per share (EPS) because to do so would increase EPS amounts or decrease loss per share amounts for the period presented."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_Assets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Assets",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total assets",
        "label": "Assets",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r89",
      "r114",
      "r133",
      "r166",
      "r172",
      "r176",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r278",
      "r280",
      "r291",
      "r319",
      "r375",
      "r452",
      "r464",
      "r497",
      "r498",
      "r509"
     ]
    },
    "us-gaap_AssetsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current assets",
        "label": "Assets, Current",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events."
       }
      }
     },
     "auth_ref": [
      "r107",
      "r119",
      "r133",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r278",
      "r280",
      "r291",
      "r452",
      "r497",
      "r498",
      "r509"
     ]
    },
    "us-gaap_AssetsCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsCurrentAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current assets:",
        "terseLabel": "Current assets:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_AssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "AssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Assets",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total noncurrent assets",
        "label": "Assets, Noncurrent",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold or consumed after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r133",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r278",
      "r280",
      "r291",
      "r497",
      "r498",
      "r509"
     ]
    },
    "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfAccountingPolicyPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis of Accounting",
        "label": "Basis of Accounting, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SignificantAccountingPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Significant accounting policies",
        "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity."
       }
      }
     },
     "auth_ref": [
      "r80"
     ]
    },
    "us-gaap_BusinessDescriptionAndBasisOfPresentationTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "BusinessDescriptionAndBasisOfPresentationTextBlock",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Basis of Presentation",
        "label": "Business Description and Basis of Presentation [Text Block]",
        "documentation": "The entire disclosure for the business description and basis of presentation concepts. Business description describes the nature and type of organization including but not limited to organizational structure as may be applicable to holding companies, parent and subsidiary relationships, business divisions, business units, business segments, affiliates and information about significant ownership of the reporting entity. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)."
       }
      }
     },
     "auth_ref": [
      "r51",
      "r80",
      "r81"
     ]
    },
    "us-gaap_CapitalExpendituresIncurredButNotYetPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CapitalExpendituresIncurredButNotYetPaid",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-cash capital expenditure items",
        "label": "Capital Expenditures Incurred but Not yet Paid",
        "documentation": "Future cash outflow to pay for purchases of fixed assets that have occurred."
       }
      }
     },
     "auth_ref": [
      "r27",
      "r28",
      "r29"
     ]
    },
    "us-gaap_CashAndCashEquivalentsAtCarryingValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashAndCashEquivalentsAtCarryingValue",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash and cash equivalents",
        "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r109",
      "r427"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "periodStartLabel": "Cash and cash equivalents, beginning of period",
        "periodEndLabel": "Cash and cash equivalents, end of period",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents",
        "documentation": "Amount of cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage. Excludes amount for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r26",
      "r77",
      "r131"
     ]
    },
    "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Decrease in cash and cash equivalents",
        "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect",
        "documentation": "Amount of increase (decrease) in cash, cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; including effect from exchange rate change. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r1",
      "r77"
     ]
    },
    "us-gaap_CashFlowOperatingActivitiesLesseeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CashFlowOperatingActivitiesLesseeAbstract",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Cash Flows Related to Operating Leases [Abstract]",
        "label": "Cash Flow, Operating Activities, Lessee [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_CasinoAndGamingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "CasinoAndGamingMember",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of thermal ticket printers used in slot machines, video lottery terminals, and other gaming machines that print tickets or receipts instead of issuing coins at casinos and racetracks and other gaming venues worldwide.",
        "label": "Casino and Gaming [Member]",
        "terseLabel": "Casino and Gaming [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CityAreaCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CityAreaCode",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "City Area Code",
        "documentation": "Area code of city"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CommitmentsAndContingencies": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommitmentsAndContingencies",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Commitments and contingencies (see Notes 5 and 7)",
        "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur."
       }
      }
     },
     "auth_ref": [
      "r20",
      "r48",
      "r320",
      "r362"
     ]
    },
    "us-gaap_CommonStockMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockMember",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common Stock [Member]",
        "documentation": "Stock that is subordinate to all other stock of the issuer."
       }
      }
     },
     "auth_ref": [
      "r455",
      "r456",
      "r457",
      "r459",
      "r460",
      "r461",
      "r462",
      "r484",
      "r485",
      "r503",
      "r520",
      "r522"
     ]
    },
    "us-gaap_CommonStockParOrStatedValuePerShare": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockParOrStatedValuePerShare",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, par value (in dollars per share)",
        "documentation": "Face amount or stated value per share of common stock."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "us-gaap_CommonStockSharesAuthorized": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesAuthorized",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares authorized (in shares)",
        "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r363"
     ]
    },
    "us-gaap_CommonStockSharesIssued": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesIssued",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares issued (in shares)",
        "documentation": "Total number of common shares of an entity that have been sold or granted to shareholders (includes common shares that were issued, repurchased and remain in the treasury). These shares represent capital invested by the firm's shareholders and owners, and may be all or only a portion of the number of shares authorized. Shares issued include shares outstanding and shares held in the treasury."
       }
      }
     },
     "auth_ref": [
      "r59"
     ]
    },
    "us-gaap_CommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockSharesOutstanding",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Common stock, shares outstanding (in shares)",
        "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r59",
      "r363",
      "r381",
      "r522",
      "r523"
     ]
    },
    "us-gaap_CommonStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CommonStockValue",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Common stock, $0.01 par value, 20,000,000 shares authorized; 14,039,749 and 14,003,653 shares issued, respectively; 9,994,907 and 9,958,811 shares outstanding, respectively",
        "label": "Common Stock, Value, Issued",
        "documentation": "Aggregate par or stated value of issued nonredeemable common stock (or common stock redeemable solely at the option of the issuer). This item includes treasury stock repurchased by the entity. Note: elements for number of nonredeemable common shares, par value and other disclosure concepts are in another section within stockholders' equity."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r321",
      "r452"
     ]
    },
    "us-gaap_ComprehensiveIncomeNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ComprehensiveIncomeNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Comprehensive (loss) income",
        "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent",
        "documentation": "Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners."
       }
      }
     },
     "auth_ref": [
      "r25",
      "r121",
      "r123",
      "r127",
      "r315",
      "r329"
     ]
    },
    "us-gaap_ContractWithCustomerAssetAndLiabilityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetAndLiabilityTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Net Contract Liabilities",
        "label": "Contract with Customer, Contract Asset, Contract Liability, and Receivable [Table Text Block]",
        "documentation": "Tabular disclosure of receivable, contract asset, and contract liability from contract with customer. Includes, but is not limited to, change in contract asset and contract liability."
       }
      }
     },
     "auth_ref": [
      "r500"
     ]
    },
    "tact_ContractWithCustomerAssetLiabilityNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "ContractWithCustomerAssetLiabilityNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/RevenueContractBalancesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/RevenueContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount, after allowance for credit loss, of right (asset) to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time and the amount of obligation (liability) to transfer good or service to customer for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Asset (Liability), net",
        "totalLabel": "Total net contract liabilities"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerAssetNetCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/RevenueContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/RevenueContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unbilled receivables, current",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r235",
      "r246"
     ]
    },
    "us-gaap_ContractWithCustomerAssetNetNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerAssetNetNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/RevenueContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/RevenueContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Unbilled receivables, net of current portion",
        "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Noncurrent",
        "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r235",
      "r246"
     ]
    },
    "us-gaap_ContractWithCustomerLiabilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityAbstract",
     "presentation": [
      "http://transact-tech.com/role/RevenueContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Contract liabilities [Abstract]",
        "label": "Contract with Customer, Liability [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/RevenueContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": -1.0,
       "order": 3.0
      },
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
      "http://transact-tech.com/role/RevenueContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue",
        "negatedLabel": "Deferred revenue, current",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r234",
      "r246"
     ]
    },
    "tact_ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/RevenueContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/RevenueContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of obligation to transfer good or service to customer related to customer prepayments for which consideration has been received or is receivable, classified as current.",
        "label": "Contract with Customer, Liability for Customer Prepayments, Current",
        "negatedLabel": "Customer pre-payments"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ContractWithCustomerLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ContractWithCustomerLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 1.0
      },
      "http://transact-tech.com/role/RevenueContractBalancesDetails": {
       "parentTag": "tact_ContractWithCustomerAssetLiabilityNet",
       "weight": -1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
      "http://transact-tech.com/role/RevenueContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred revenue, net of current portion",
        "negatedLabel": "Deferred revenue, net of current portion",
        "documentation": "Amount of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r233",
      "r234",
      "r246"
     ]
    },
    "tact_ContractWithCustomerRevenueRecognized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "ContractWithCustomerRevenueRecognized",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/RevenueContractBalancesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Amount of revenue recognized related to obligation to transfer good or service to customer for which consideration from customer has been received or is due.",
        "label": "Contract with Customer, Revenue Recognized",
        "terseLabel": "Revenue recognized"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_CostOfRevenue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "CostOfRevenue",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cost of sales",
        "documentation": "The aggregate cost of goods produced and sold and services rendered during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r72",
      "r133",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r291",
      "r497"
     ]
    },
    "dei_CoverAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CoverAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Cover [Abstract]",
        "documentation": "Cover page."
       }
      }
     },
     "auth_ref": []
    },
    "tact_CurrentBusinessTrendsDisclosureTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "CurrentBusinessTrendsDisclosureTable",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Disclosure of information about current business trends.",
        "label": "Current Business Trends Disclosure [Table]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_CurrentBusinessTrendsLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "CurrentBusinessTrendsLineItems",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table.",
        "label": "Current Business Trends [Line Items]"
       }
      }
     },
     "auth_ref": []
    },
    "dei_CurrentFiscalYearEndDate": {
     "xbrltype": "gMonthDayItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "CurrentFiscalYearEndDate",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current Fiscal Year End Date",
        "documentation": "End date of current fiscal year in the format --MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Borrowings [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/Borrowings"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Borrowings",
        "label": "Debt Disclosure [Text Block]",
        "documentation": "The entire disclosure for information about short-term and long-term debt arrangements, which includes amounts of borrowings under each line of credit, note payable, commercial paper issue, bonds indenture, debenture issue, own-share lending arrangements and any other contractual agreement to repay funds, and about the underlying arrangements, rationale for a classification as long-term, including repayment terms, interest rates, collateral provided, restrictions on use of assets and activities, whether or not in compliance with debt covenants, and other matters important to users of the financial statements, such as the effects of refinancing and noncompliance with debt covenants."
       }
      }
     },
     "auth_ref": [
      "r84",
      "r132",
      "r205",
      "r211",
      "r212",
      "r213",
      "r214",
      "r215",
      "r216",
      "r221",
      "r228",
      "r229",
      "r231"
     ]
    },
    "us-gaap_DebtInstrumentAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentAxis",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Axis]",
        "documentation": "Information by type of debt instrument, including, but not limited to, draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r55",
      "r56",
      "r90",
      "r91",
      "r135",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r212",
      "r217",
      "r218",
      "r219",
      "r220",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r299",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r481"
     ]
    },
    "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentBasisSpreadOnVariableRate1",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis spread on variable rate",
        "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument."
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentFinancialCovenantEligibleAccountsReceivable": {
     "xbrltype": "percentItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "DebtInstrumentFinancialCovenantEligibleAccountsReceivable",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible accounts receivable included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Accounts Receivable",
        "terseLabel": "Percentage of eligible accounts receivable"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventory": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "DebtInstrumentFinancialCovenantEligibleInventory",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum value of eligible raw material and finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory",
        "terseLabel": "Eligible inventory"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible finished goods inventory included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory, Finished Goods Inventory, Percentage",
        "terseLabel": "Percentage of eligible finished goods inventory"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The percentage of eligible raw material included in the calculation of borrowing base imposed by the financial covenants of the debt instrument.",
        "label": "Debt Instrument, Financial Covenant, Eligible Inventory, Raw Material, Percentage",
        "terseLabel": "Percentage of eligible raw material"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentInterestRateStatedPercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentInterestRateStatedPercentage",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest rate",
        "label": "Debt Instrument, Interest Rate, Stated Percentage",
        "documentation": "Contractual interest rate for funds borrowed, under the debt agreement."
       }
      }
     },
     "auth_ref": [
      "r17",
      "r207"
     ]
    },
    "us-gaap_DebtInstrumentLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentLineItems",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r135",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r212",
      "r217",
      "r218",
      "r219",
      "r220",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r230",
      "r299",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r481"
     ]
    },
    "tact_DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash required under a new \"springing\" deposit account control agreement, permitting the Company to direct the use of funds in its deposit account.",
        "label": "Debt Instrument, Minimum excess availability and unrestricted cash",
        "terseLabel": "Minimum excess availability and unrestricted cash required"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum principal amount, whether or not such amount of loans is actually outstanding, on which interest is paid if the Company does not have the ability to direct the use of funds in the deposit account under the Amended Fee Letter.",
        "label": "Debt Instrument, Minimum principal amount on which interest is paid",
        "terseLabel": "Minimum principal amount on which interest is paid"
       }
      }
     },
     "auth_ref": []
    },
    "tact_DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The minimum principal amount of outstanding borrowings that must be maintained in order to retain the ability to direct the use of funds in the deposit account under the Amended Fee Letter.",
        "label": "Debt Instrument, Minimum principal amount to be maintained to direct use of funds in deposit account",
        "terseLabel": "Minimum principal amount to be maintained to direct use of funds in deposit account"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentNameDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentNameDomain",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Debt Instrument, Name [Domain]",
        "documentation": "The name for the particular debt instrument or borrowing that distinguishes it from other debt instruments or borrowings, including draws against credit facilities."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r135",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r212",
      "r217",
      "r218",
      "r219",
      "r220",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r299",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r481"
     ]
    },
    "tact_DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash": {
     "xbrltype": "durationItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "The period of time the minimum sum of (1) excess availability under the Siena Credit Facility (as amended by the Credit Facility Amendment) and (2) unrestricted cash must be maintained, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.",
        "label": "Debt Instrument, Period to maintain excess availability and unrestricted cash",
        "terseLabel": "Number of days to maintain excess availability and unrestricted cash"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DebtInstrumentTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DebtInstrumentTable",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Long-term Debt Instruments [Table]",
        "documentation": "A table or schedule providing information pertaining to long-term debt instruments or arrangements, including identification, terms, features, collateral requirements and other information necessary to a fair presentation. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer."
       }
      }
     },
     "auth_ref": [
      "r18",
      "r38",
      "r39",
      "r44",
      "r45",
      "r47",
      "r49",
      "r85",
      "r86",
      "r135",
      "r206",
      "r207",
      "r208",
      "r209",
      "r210",
      "r212",
      "r217",
      "r218",
      "r219",
      "r220",
      "r222",
      "r223",
      "r224",
      "r225",
      "r226",
      "r227",
      "r230",
      "r299",
      "r437",
      "r438",
      "r439",
      "r440",
      "r441",
      "r481"
     ]
    },
    "us-gaap_DeferredFinanceCostsGross": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredFinanceCostsGross",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred financing costs",
        "label": "Debt Issuance Costs, Gross",
        "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs."
       }
      }
     },
     "auth_ref": [
      "r46"
     ]
    },
    "us-gaap_DeferredIncomeTaxAssetsNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxAssetsNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Deferred tax assets",
        "label": "Deferred Income Tax Assets, Net",
        "documentation": "Amount, after allocation of valuation allowances and deferred tax liability, of deferred tax asset attributable to deductible differences and carryforwards, with jurisdictional netting."
       }
      }
     },
     "auth_ref": [
      "r262",
      "r263"
     ]
    },
    "us-gaap_DeferredIncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DeferredIncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 9.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Deferred income taxes",
        "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r88",
      "r102",
      "r273",
      "r274",
      "r483"
     ]
    },
    "us-gaap_DepreciationAndAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DepreciationAndAmortization",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 6.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Depreciation and amortization",
        "documentation": "The current period expense charged against earnings on long-lived, physical assets not used in production, and which are not intended for resale, to allocate or recognize the cost of such assets over their useful lives; or to record the reduction in book value of an intangible asset over the benefit period of such asset; or to reflect consumption during the period of an asset that is not used in production."
       }
      }
     },
     "auth_ref": [
      "r5",
      "r36"
     ]
    },
    "us-gaap_DisaggregationOfRevenueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueAbstract",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_DisaggregationOfRevenueLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueLineItems",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTable",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Disaggregation of Revenue [Table]",
        "documentation": "Disclosure of information about disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r245",
      "r443",
      "r444",
      "r445",
      "r446",
      "r447",
      "r448",
      "r449"
     ]
    },
    "us-gaap_DisaggregationOfRevenueTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "DisaggregationOfRevenueTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/RevenueTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Disaggregation of Revenue",
        "label": "Disaggregation of Revenue [Table Text Block]",
        "documentation": "Tabular disclosure of disaggregation of revenue into categories depicting how nature, amount, timing, and uncertainty of revenue and cash flows are affected by economic factor."
       }
      }
     },
     "auth_ref": [
      "r501"
     ]
    },
    "dei_DocumentFiscalPeriodFocus": {
     "xbrltype": "fiscalPeriodItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalPeriodFocus",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Period Focus",
        "documentation": "Fiscal period values are FY, Q1, Q2, and Q3.  1st, 2nd and 3rd quarter 10-Q or 10-QT statements have value Q1, Q2, and Q3 respectively, with 10-K, 10-KT or other fiscal year statements having FY."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentFiscalYearFocus": {
     "xbrltype": "gYearItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentFiscalYearFocus",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Fiscal Year Focus",
        "documentation": "This is focus fiscal year of the document report in YYYY format. For a 2006 annual report, which may also provide financial information from prior periods, fiscal 2006 should be given as the fiscal year focus. Example: 2006."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentPeriodEndDate": {
     "xbrltype": "dateItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentPeriodEndDate",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Period End Date",
        "documentation": "For the EDGAR submission types of Form 8-K: the date of the report, the date of the earliest event reported; for the EDGAR submission types of Form N-1A: the filing date; for all other submission types: the end of the reporting or transition period.  The format of the date is YYYY-MM-DD."
       }
      }
     },
     "auth_ref": []
    },
    "dei_DocumentQuarterlyReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentQuarterlyReport",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Quarterly Report",
        "documentation": "Boolean flag that is true only for a form used as an quarterly report."
       }
      }
     },
     "auth_ref": [
      "r468"
     ]
    },
    "dei_DocumentTransitionReport": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentTransitionReport",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Transition Report",
        "documentation": "Boolean flag that is true only for a form used as a transition report."
       }
      }
     },
     "auth_ref": [
      "r469"
     ]
    },
    "dei_DocumentType": {
     "xbrltype": "submissionTypeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "DocumentType",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Document Type",
        "documentation": "The type of document being provided (such as 10-K, 10-Q, 485BPOS, etc). The document type is limited to the same value as the supporting SEC submission type, or the word 'Other'."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Earnings per share [Abstract]",
        "verboseLabel": "Net (loss) income per common share:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasic": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasic",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic (in dollars per share)",
        "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r128",
      "r141",
      "r142",
      "r143",
      "r144",
      "r145",
      "r151",
      "r153",
      "r158",
      "r159",
      "r160",
      "r164",
      "r289",
      "r290",
      "r316",
      "r330",
      "r431"
     ]
    },
    "us-gaap_EarningsPerShareBasicAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasicAbstract",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net (loss) income per common share [Abstract]",
        "label": "Earnings Per Share, Basic [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareBasicOtherDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareBasicOtherDisclosuresAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shares used in per-share calculations:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareDiluted": {
     "xbrltype": "perShareItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareDiluted",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Diluted (in dollars per share)",
        "label": "Earnings Per Share, Diluted",
        "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period."
       }
      }
     },
     "auth_ref": [
      "r128",
      "r141",
      "r142",
      "r143",
      "r144",
      "r145",
      "r153",
      "r158",
      "r159",
      "r160",
      "r164",
      "r289",
      "r290",
      "r316",
      "r330",
      "r431"
     ]
    },
    "us-gaap_EarningsPerShareReconciliationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareReconciliationAbstract",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per share [Abstract]",
        "label": "Earnings Per Share Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_EarningsPerShareTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EarningsPerShareTextBlock",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShare"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per share",
        "label": "Earnings Per Share [Text Block]",
        "documentation": "The entire disclosure for earnings per share."
       }
      }
     },
     "auth_ref": [
      "r150",
      "r161",
      "r162",
      "r163"
     ]
    },
    "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effect of exchange rate changes on cash and cash equivalents",
        "documentation": "Amount of increase (decrease) from effect of exchange rate changes on cash and cash equivalents, and cash and cash equivalents restricted to withdrawal or usage; held in foreign currencies. Excludes amounts for disposal group and discontinued operations. Cash includes, but is not limited to, currency on hand, demand deposits with banks or financial institutions, and other accounts with general characteristics of demand deposits. Cash equivalents include, but are not limited to, short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates."
       }
      }
     },
     "auth_ref": [
      "r292"
     ]
    },
    "us-gaap_EffectiveIncomeTaxRateContinuingOperations": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EffectiveIncomeTaxRateContinuingOperations",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Effective tax rate",
        "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r265"
     ]
    },
    "dei_EntityAddressAddressLine1": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine1",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line One",
        "documentation": "Address Line 1 such as Attn, Building Name, Street Name"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressAddressLine2": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressAddressLine2",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Address Line Two",
        "documentation": "Address Line 2 such as Street or Suite number"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressCityOrTown": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressCityOrTown",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, City or Town",
        "documentation": "Name of the City or Town"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressPostalZipCode": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressPostalZipCode",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, Postal Zip Code",
        "documentation": "Code for the postal or zip code"
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityAddressStateOrProvince": {
     "xbrltype": "stateOrProvinceItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityAddressStateOrProvince",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Address, State or Province",
        "documentation": "Name of the state or province."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCentralIndexKey": {
     "xbrltype": "centralIndexKeyItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCentralIndexKey",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Central Index Key",
        "documentation": "A unique 10-digit SEC-issued value to identify entities that have filed disclosures with the SEC. It is commonly abbreviated as CIK."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityCommonStockSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCommonStockSharesOutstanding",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Common Stock, Shares Outstanding",
        "documentation": "Indicate number of shares or other units outstanding of each of registrant's classes of capital or common stock or other ownership interests, if and as stated on cover of related periodic report. Where multiple classes or units exist define each class/interest by adding class of stock items such as Common Class A [Member], Common Class B [Member] or Partnership Interest [Member] onto the Instrument [Domain] of the Entity Listings, Instrument."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityCurrentReportingStatus": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityCurrentReportingStatus",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Current Reporting Status",
        "documentation": "Indicate 'Yes' or 'No' whether registrants (1) have filed all reports required to be filed by Section 13 or 15(d) of the Securities Exchange Act of 1934 during the preceding 12 months (or for such shorter period that registrants were required to file such reports), and (2) have been subject to such filing requirements for the past 90 days. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityEmergingGrowthCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityEmergingGrowthCompany",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Emerging Growth Company",
        "documentation": "Indicate if registrant meets the emerging growth company criteria."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityFileNumber": {
     "xbrltype": "fileNumberItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFileNumber",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity File Number",
        "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityFilerCategory": {
     "xbrltype": "filerCategoryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityFilerCategory",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Filer Category",
        "documentation": "Indicate whether the registrant is one of the following: Large Accelerated Filer, Accelerated Filer, Non-accelerated Filer. Definitions of these categories are stated in Rule 12b-2 of the Exchange Act. This information should be based on the registrant's current or most recent filing containing the related disclosure."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityIncorporationStateCountryCode": {
     "xbrltype": "edgarStateCountryItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityIncorporationStateCountryCode",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Incorporation, State or Country Code",
        "documentation": "Two-character EDGAR code representing the state or country of incorporation."
       }
      }
     },
     "auth_ref": []
    },
    "dei_EntityInteractiveDataCurrent": {
     "xbrltype": "yesNoItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityInteractiveDataCurrent",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Interactive Data Current",
        "documentation": "Boolean flag that is true when the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T during the preceding 12 months (or for such shorter period that the registrant was required to submit such files)."
       }
      }
     },
     "auth_ref": [
      "r472"
     ]
    },
    "dei_EntityRegistrantName": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityRegistrantName",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Registrant Name",
        "documentation": "The exact name of the entity filing the report as specified in its charter, which is required by forms filed with the SEC."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityShellCompany": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityShellCompany",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Shell Company",
        "documentation": "Boolean flag that is true when the registrant is a shell company as defined in Rule 12b-2 of the Exchange Act."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntitySmallBusiness": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntitySmallBusiness",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Small Business",
        "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "dei_EntityTaxIdentificationNumber": {
     "xbrltype": "employerIdItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "EntityTaxIdentificationNumber",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Entity Tax Identification Number",
        "documentation": "The Tax Identification Number (TIN), also known as an Employer Identification Number (EIN), is a unique 9-digit value assigned by the IRS."
       }
      }
     },
     "auth_ref": [
      "r466"
     ]
    },
    "us-gaap_EquityComponentDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "EquityComponentDomain",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Component [Domain]",
        "documentation": "Components of equity are the parts of the total Equity balance including that which is allocated to common, preferred, treasury stock, retained earnings, etc."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r105",
      "r124",
      "r125",
      "r126",
      "r136",
      "r137",
      "r138",
      "r140",
      "r146",
      "r148",
      "r165",
      "r186",
      "r187",
      "r232",
      "r257",
      "r258",
      "r259",
      "r269",
      "r270",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r308",
      "r339",
      "r340",
      "r341",
      "r348",
      "r401"
     ]
    },
    "us-gaap_FederalFundsEffectiveSwapRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FederalFundsEffectiveSwapRateMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Federal Funds Rate [Member]",
        "label": "Fed Funds Effective Rate Overnight Index Swap Rate [Member]",
        "documentation": "Fixed rate on U.S. dollar, constant-notional interest rate swap having its variable-rate leg referenced to Federal Funds effective rate with no additional spread over Federal Funds effective rate on that variable-rate leg."
       }
      }
     },
     "auth_ref": [
      "r502"
     ]
    },
    "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Intangible assets, accumulated amortization",
        "label": "Finite-Lived Intangible Assets, Accumulated Amortization",
        "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life."
       }
      }
     },
     "auth_ref": [
      "r112",
      "r191"
     ]
    },
    "tact_FoodServiceTechnologyMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "FoodServiceTechnologyMember",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of the BOHA! ecosystem, which combines the latest generation terminal, cloud-based software applications and related hardware into a unique solution to automate operations with food production in the back-of-house operations in restaurants and food service operations.",
        "label": "Food Service Technology [Member]",
        "terseLabel": "Food Service Technology [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ForeignCurrencyTransactionGainLossUnrealized": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ForeignCurrencyTransactionGainLossUnrealized",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 13.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Unrealized foreign currency transaction losses",
        "label": "Unrealized Gain (Loss), Foreign Currency Transaction, before Tax",
        "documentation": "Amount, before tax, of unrealized gain (loss) from foreign currency transaction."
       }
      }
     },
     "auth_ref": [
      "r79",
      "r383",
      "r463",
      "r505",
      "r506",
      "r521"
     ]
    },
    "us-gaap_GeneralAndAdministrativeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GeneralAndAdministrativeExpense",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "General and administrative",
        "documentation": "The aggregate total of expenses of managing and administering the affairs of an entity, including affiliates of the reporting entity, which are not directly or indirectly associated with the manufacture, sale or creation of a product or product line."
       }
      }
     },
     "auth_ref": [
      "r73",
      "r386"
     ]
    },
    "us-gaap_Goodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Goodwill",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Goodwill",
        "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized."
       }
      }
     },
     "auth_ref": [
      "r111",
      "r190",
      "r314",
      "r436",
      "r452",
      "r492",
      "r493"
     ]
    },
    "us-gaap_GrossProfit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "GrossProfit",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Gross profit",
        "label": "Gross Profit",
        "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity."
       }
      }
     },
     "auth_ref": [
      "r71",
      "r133",
      "r166",
      "r171",
      "r175",
      "r177",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r291",
      "r433",
      "r497"
     ]
    },
    "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "(Loss) income before income taxes",
        "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest",
        "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r0",
      "r69",
      "r93",
      "r166",
      "r171",
      "r175",
      "r177",
      "r317",
      "r327",
      "r433"
     ]
    },
    "us-gaap_IncomeStatementAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeStatementAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Income taxes [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncomeTaxDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/IncomeTaxes"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Income taxes",
        "label": "Income Tax Disclosure [Text Block]",
        "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information."
       }
      }
     },
     "auth_ref": [
      "r134",
      "r261",
      "r266",
      "r267",
      "r268",
      "r271",
      "r275",
      "r276",
      "r277",
      "r347"
     ]
    },
    "us-gaap_IncomeTaxExpenseBenefit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncomeTaxExpenseBenefit",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NetIncomeLoss",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/IncomeTaxesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Income tax (benefit) expense",
        "terseLabel": "Income tax (benefit) expense",
        "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations."
       }
      }
     },
     "auth_ref": [
      "r95",
      "r103",
      "r147",
      "r148",
      "r169",
      "r264",
      "r272",
      "r331"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsPayable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsPayable",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 20.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Accounts payable",
        "label": "Increase (Decrease) in Accounts Payable",
        "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccountsReceivable": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccountsReceivable",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 15.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Accounts receivable",
        "label": "Increase (Decrease) in Accounts Receivable",
        "documentation": "The increase (decrease) during the reporting period in amount due within one year (or one business cycle) from customers for the credit sale of goods and services."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 21.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Accrued liabilities and other liabilities",
        "documentation": "Amount of increase (decrease) in accrued expenses, and obligations classified as other."
       }
      }
     },
     "auth_ref": [
      "r480"
     ]
    },
    "us-gaap_IncreaseDecreaseInInventories": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInInventories",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 17.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Inventories",
        "label": "Increase (Decrease) in Inventories",
        "documentation": "The increase (decrease) during the reporting period in the aggregate value of all inventory held by the reporting entity, associated with underlying transactions that are classified as operating activities."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOperatingCapitalAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Changes in operating assets and liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncreaseDecreaseInOtherOperatingAssets": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherOperatingAssets",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 19.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Other current and long-term assets",
        "label": "Increase (Decrease) in Other Operating Assets",
        "documentation": "Amount of increase (decrease) in operating assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInOtherReceivables": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInOtherReceivables",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 16.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Employee retention credit receivable",
        "label": "Increase (Decrease) in Other Receivables",
        "documentation": "Amount of increase (decrease) in receivables classified as other."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInPrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInPrepaidTaxes",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": -1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Prepaid income taxes",
        "label": "Increase (Decrease) in Prepaid Taxes",
        "documentation": "Amount of increase (decrease) of consideration paid in advance for income and other taxes that provide economic benefits in future periods."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncreaseDecreaseInStockholdersEquityRollForward",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]",
        "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements",
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Add: Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method (in shares)",
        "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method."
       }
      }
     },
     "auth_ref": [
      "r154",
      "r155",
      "r156",
      "r160",
      "r252"
     ]
    },
    "ecd_InsiderTradingArrLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "InsiderTradingArrLineItems",
     "lang": {
      "en-us": {
       "role": {
        "label": "Insider Trading Arrangements [Line Items]"
       }
      }
     },
     "auth_ref": [
      "r470"
     ]
    },
    "us-gaap_IntangibleAssetsNetExcludingGoodwill": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "IntangibleAssetsNetExcludingGoodwill",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Intangible assets, net of accumulated amortization of $1,556 and $1,518",
        "label": "Intangible Assets, Net (Excluding Goodwill)",
        "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges."
       }
      }
     },
     "auth_ref": [
      "r34",
      "r35"
     ]
    },
    "us-gaap_InterestIncomeExpenseNonoperatingNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InterestIncomeExpenseNonoperatingNet",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest, net",
        "label": "Interest Income (Expense), Nonoperating, Net",
        "documentation": "The net amount of nonoperating interest income (expense)."
       }
      }
     },
     "auth_ref": []
    },
    "tact_InternationalMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "InternationalMember",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Other countries outside of the United States.",
        "label": "International [Member]",
        "terseLabel": "International [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_InventoryDisclosureTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryDisclosureTextBlock",
     "presentation": [
      "http://transact-tech.com/role/Inventories"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Inventory Disclosure [Text Block]",
        "documentation": "The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory."
       }
      }
     },
     "auth_ref": [
      "r189"
     ]
    },
    "us-gaap_InventoryFinishedGoodsNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryFinishedGoodsNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/InventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Finished goods",
        "documentation": "Carrying amount, net of valuation reserves and adjustments, as of the balance sheet date of merchandise or goods held by the company that are readily available for sale."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r430"
     ]
    },
    "us-gaap_InventoryNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 4.0
      },
      "http://transact-tech.com/role/InventoriesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Inventories",
        "totalLabel": "Inventories",
        "documentation": "Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r117",
      "r428",
      "r452"
     ]
    },
    "us-gaap_InventoryRawMaterialsAndSuppliesNetOfReserves": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "InventoryRawMaterialsAndSuppliesNetOfReserves",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/InventoriesDetails": {
       "parentTag": "us-gaap_InventoryNet",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/InventoriesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Raw materials and purchased component parts",
        "documentation": "Aggregated amount of unprocessed materials to be used in manufacturing or production process and supplies that will be consumed. This amount is net of valuation reserves and adjustments."
       }
      }
     },
     "auth_ref": [
      "r83",
      "r476"
     ]
    },
    "us-gaap_LeasesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LeasesAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Leases [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseDescriptionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseDescriptionAbstract",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating Lease Weighted Average Remaining Lease Term and Discount Rate [Abstract]",
        "label": "Lessee, Operating Lease, Description [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "tact_LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of information related to lessee's operating leases, including weighted average lease term and discount rate.",
        "label": "Lessee, Operating Lease, Lease Term and Discount Rate [Table Text Block]",
        "terseLabel": "Additional Information Related to Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturity of Operating Lease Liabilities",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Maturity [Table Text Block]",
        "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position."
       }
      }
     },
     "auth_ref": [
      "r508"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDue",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      },
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total undiscounted lease payments",
        "label": "Lessee, Operating Lease, Liability, to be Paid",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2025",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2026",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetails": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "2024",
        "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease having initial or remaining lease term in excess of one year to be paid in remainder of current fiscal year."
       }
      }
     },
     "auth_ref": [
      "r508"
     ]
    },
    "us-gaap_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Less imputed interest",
        "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease."
       }
      }
     },
     "auth_ref": [
      "r307"
     ]
    },
    "tact_LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/LeasesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Tabular disclosure of supplemental information for the statement of cash flows related to operating leases.",
        "label": "Lessee, Operating Lease, Supplemental Disclosure for Cash Flows [Table Text Block]",
        "terseLabel": "Cash Flows for Operating Leases"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LesseeOperatingLeasesTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LesseeOperatingLeasesTextBlock",
     "presentation": [
      "http://transact-tech.com/role/Leases"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Leases",
        "label": "Lessee, Operating Leases [Text Block]",
        "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability."
       }
      }
     },
     "auth_ref": [
      "r300"
     ]
    },
    "us-gaap_Liabilities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "Liabilities",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities",
        "label": "Liabilities",
        "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future."
       }
      }
     },
     "auth_ref": [
      "r14",
      "r133",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r279",
      "r280",
      "r281",
      "r291",
      "r361",
      "r432",
      "r464",
      "r497",
      "r509",
      "r510"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total liabilities and shareholders' equity",
        "label": "Liabilities and Equity",
        "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any."
       }
      }
     },
     "auth_ref": [
      "r64",
      "r92",
      "r324",
      "r452",
      "r482",
      "r490",
      "r504"
     ]
    },
    "us-gaap_LiabilitiesAndStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesAndStockholdersEquityAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Liabilities and Shareholders' Equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total current liabilities",
        "label": "Liabilities, Current",
        "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r16",
      "r108",
      "r133",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r279",
      "r280",
      "r281",
      "r291",
      "r452",
      "r497",
      "r509",
      "r510"
     ]
    },
    "us-gaap_LiabilitiesCurrentAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesCurrentAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Current liabilities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_Liabilities",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total noncurrent liabilities",
        "label": "Liabilities, Noncurrent",
        "documentation": "Amount of obligation due after one year or beyond the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r52",
      "r53",
      "r54",
      "r57",
      "r133",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r279",
      "r280",
      "r281",
      "r291",
      "r497",
      "r509",
      "r510"
     ]
    },
    "us-gaap_LineOfCreditFacilityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityAbstract",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Borrowings [Abstract]",
        "label": "Line of Credit Facility [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityMaximumBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maximum borrowing capacity",
        "label": "Line of Credit Facility, Maximum Borrowing Capacity",
        "documentation": "Maximum borrowing capacity under the credit facility without consideration of any current restrictions on the amount that could be borrowed or the amounts currently outstanding under the facility."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityRemainingBorrowingCapacity",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Additional borrowing capacity",
        "label": "Line of Credit Facility, Remaining Borrowing Capacity",
        "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)."
       }
      }
     },
     "auth_ref": [
      "r13"
     ]
    },
    "us-gaap_LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Percentage fee on unused borrowings",
        "label": "Line of Credit Facility, Unused Capacity, Commitment Fee Percentage",
        "documentation": "The fee, expressed as a percentage of the line of credit facility, for available but unused credit capacity under the credit facility."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_LinesOfCreditCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "LinesOfCreditCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revolving loan payable",
        "label": "Line of Credit, Current",
        "documentation": "The carrying value as of the balance sheet date of the current portion of long-term obligations drawn from a line of credit, which is a bank's commitment to make loans up to a specific amount. Examples of items that might be included in the application of this element may consist of letters of credit, standby letters of credit, and revolving credit arrangements, under which borrowings can be made up to a maximum amount as of any point in time conditional on satisfaction of specified terms before, as of and after the date of drawdowns on the line. Includes short-term obligations that would normally be classified as current liabilities but for which (a) postbalance sheet date issuance of a long term obligation to refinance the short term obligation on a long term basis, or (b) the enterprise has entered into a financing agreement that clearly permits the enterprise to refinance the short-term obligation on a long term basis and the following conditions are met (1) the agreement does not expire within 1 year and is not cancelable by the lender except for violation of an objectively determinable provision, (2) no violation exists at the BS date, and (3) the lender has entered into the financing agreement is expected to be financially capable of honoring the agreement."
       }
      }
     },
     "auth_ref": [
      "r55",
      "r90"
     ]
    },
    "dei_LocalPhoneNumber": {
     "xbrltype": "normalizedStringItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "LocalPhoneNumber",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Local Phone Number",
        "documentation": "Local phone number for entity."
       }
      }
     },
     "auth_ref": []
    },
    "srt_MinimumMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "MinimumMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Minimum [Member]"
       }
      }
     },
     "auth_ref": [
      "r192",
      "r193",
      "r194",
      "r195",
      "r249",
      "r312",
      "r338",
      "r353",
      "r354",
      "r404",
      "r406",
      "r408",
      "r409",
      "r411",
      "r423",
      "r424",
      "r434",
      "r442",
      "r450",
      "r454",
      "r499",
      "r511",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivities",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in financing activities",
        "label": "Net Cash Provided by (Used in) Financing Activities",
        "documentation": "Amount of cash inflow (outflow) from financing activities, including discontinued operations. Financing activity cash flows include obtaining resources from owners and providing them with a return on, and a return of, their investment; borrowing money and repaying amounts borrowed, or settling the obligation; and obtaining and paying for other resources obtained from creditors on long-term credit."
       }
      }
     },
     "auth_ref": [
      "r130"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInFinancingActivitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from financing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivities",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in investing activities",
        "label": "Net Cash Provided by (Used in) Investing Activities",
        "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets."
       }
      }
     },
     "auth_ref": [
      "r130"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInInvestingActivitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from investing activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivities": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivities",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Net cash used in operating activities",
        "label": "Net Cash Provided by (Used in) Operating Activities",
        "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities."
       }
      }
     },
     "auth_ref": [
      "r77",
      "r78",
      "r79"
     ]
    },
    "us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetCashProvidedByUsedInOperatingActivitiesAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Cash flows from operating activities:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NetIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NetIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 1.0
      },
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 1.0
      },
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows",
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome",
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Net (loss) income",
        "totalLabel": "Net (loss) income",
        "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent."
       }
      }
     },
     "auth_ref": [
      "r70",
      "r79",
      "r94",
      "r106",
      "r120",
      "r122",
      "r126",
      "r133",
      "r139",
      "r141",
      "r142",
      "r143",
      "r144",
      "r147",
      "r148",
      "r157",
      "r166",
      "r171",
      "r175",
      "r177",
      "r185",
      "r196",
      "r197",
      "r198",
      "r199",
      "r200",
      "r201",
      "r202",
      "r203",
      "r204",
      "r290",
      "r291",
      "r328",
      "r384",
      "r399",
      "r400",
      "r433",
      "r463",
      "r497"
     ]
    },
    "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SignificantAccountingPoliciesPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Recently issued accounting pronouncements",
        "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact."
       }
      }
     },
     "auth_ref": []
    },
    "ecd_NonRule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrAdoptedFlag",
     "presentation": [
      "http://transact-tech.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted",
        "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "ecd_NonRule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "NonRule10b51ArrTrmntdFlag",
     "presentation": [
      "http://transact-tech.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated",
        "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "us-gaap_NoncashInvestingAndFinancingItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NoncashInvestingAndFinancingItemsAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental schedule of non-cash investing activities:",
        "label": "Noncash Investing and Financing Items [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_NonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Interest and other income (expense)",
        "label": "Nonoperating Income (Expense)",
        "documentation": "The aggregate amount of income or expense from ancillary business-related activities (that is to say, excluding major activities considered part of the normal operations of the business)."
       }
      }
     },
     "auth_ref": [
      "r74"
     ]
    },
    "us-gaap_NonoperatingIncomeExpenseAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "NonoperatingIncomeExpenseAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Interest and other (expense) income:",
        "label": "Nonoperating Income (Expense) [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpenses": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpenses",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingIncomeLoss",
       "weight": -1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationDetails",
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating expenses",
        "terseLabel": "Operating expenses",
        "label": "Operating Expenses",
        "documentation": "Generally recurring costs associated with normal operations except for the portion of these expenses which can be clearly related to production and included in cost of sales or services. Includes selling, general and administrative expense."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingExpensesAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingExpensesAbstract",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationDetails",
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Operating expenses:",
        "terseLabel": "Basis of presentation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingIncomeLoss": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingIncomeLoss",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Operating (loss) income",
        "label": "Operating Income (Loss)",
        "documentation": "The net result for the period of deducting operating expenses from operating revenues."
       }
      }
     },
     "auth_ref": [
      "r166",
      "r171",
      "r175",
      "r177",
      "r433"
     ]
    },
    "us-gaap_OperatingLeaseExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseExpense",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating lease expense",
        "label": "Operating Lease, Expense",
        "documentation": "Amount of operating lease expense. Excludes sublease income."
       }
      }
     },
     "auth_ref": [
      "r507"
     ]
    },
    "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Maturity of Operating Lease Liabilities [Abstract]",
        "label": "Lessee, Operating Lease, Liability, to be Paid, Fiscal Year Maturity [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OperatingLeaseLiability": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiability",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/LeasesDetailsCalc2": {
       "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Total lease liabilities",
        "label": "Operating Lease, Liability",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease."
       }
      }
     },
     "auth_ref": [
      "r302"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityCurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesCurrent",
       "weight": 1.0,
       "order": 4.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Lease liabilities",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current."
       }
      }
     },
     "auth_ref": [
      "r302"
     ]
    },
    "us-gaap_OperatingLeaseLiabilityNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseLiabilityNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Lease liabilities, net of current portion",
        "label": "Operating Lease, Liability, Noncurrent",
        "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent."
       }
      }
     },
     "auth_ref": [
      "r302"
     ]
    },
    "us-gaap_OperatingLeasePayments": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeasePayments",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Operating cash outflows from leases",
        "label": "Operating Lease, Payments",
        "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use."
       }
      }
     },
     "auth_ref": [
      "r303",
      "r304"
     ]
    },
    "us-gaap_OperatingLeaseRightOfUseAsset": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseRightOfUseAsset",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Right-of-use assets",
        "label": "Operating Lease, Right-of-Use Asset",
        "documentation": "Amount of lessee's right to use underlying asset under operating lease."
       }
      }
     },
     "auth_ref": [
      "r301"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": {
     "xbrltype": "percentItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageDiscountRatePercent",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average discount rate",
        "label": "Operating Lease, Weighted Average Discount Rate, Percent",
        "documentation": "Weighted average discount rate for operating lease calculated at point in time."
       }
      }
     },
     "auth_ref": [
      "r306",
      "r451"
     ]
    },
    "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1",
     "presentation": [
      "http://transact-tech.com/role/LeasesDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Weighted average remaining lease term",
        "label": "Operating Lease, Weighted Average Remaining Lease Term",
        "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r305",
      "r451"
     ]
    },
    "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Basis of Presentation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_OtherAssetsCurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsCurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other current assets",
        "documentation": "Amount of current assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r118",
      "r452"
     ]
    },
    "us-gaap_OtherAssetsNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherAssetsNoncurrent",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 8.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other assets",
        "documentation": "Amount of noncurrent assets classified as other."
       }
      }
     },
     "auth_ref": [
      "r113"
     ]
    },
    "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome": {
       "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity",
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfComprehensiveLossIncome"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Foreign currency translation adjustment, net of tax",
        "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax",
        "documentation": "Amount after tax and reclassification adjustments of gain (loss) on foreign currency translation adjustments, foreign currency transactions designated and effective as economic hedges of a net investment in a foreign entity and intra-entity foreign currency transactions that are of a long-term-investment nature."
       }
      }
     },
     "auth_ref": [
      "r3"
     ]
    },
    "us-gaap_OtherLiabilitiesNoncurrent": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherLiabilitiesNoncurrent",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesNoncurrent",
       "weight": 1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other liabilities",
        "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r19"
     ]
    },
    "us-gaap_OtherNonoperatingIncomeExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "OtherNonoperatingIncomeExpense",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_NonoperatingIncomeExpense",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Other, net",
        "documentation": "Amount of income (expense) related to nonoperating activities, classified as other."
       }
      }
     },
     "auth_ref": [
      "r75"
     ]
    },
    "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities",
       "weight": -1.0,
       "order": 7.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Withholding taxes paid on stock issuances",
        "label": "Payment, Tax Withholding, Share-Based Payment Arrangement",
        "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r129"
     ]
    },
    "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PaymentsToAcquirePropertyPlantAndEquipment",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Capital expenditures",
        "label": "Payments to Acquire Property, Plant, and Equipment",
        "documentation": "The cash outflow associated with the acquisition of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale; includes cash outflows to pay for construction of self-constructed assets."
       }
      }
     },
     "auth_ref": [
      "r76"
     ]
    },
    "tact_PosAutomationAndBankingMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "PosAutomationAndBankingMember",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from sales of thermal printers used primarily by restaurants (including fine dining, casual dining, quick serve and hospitality establishments) located either at the checkout counter or within self-service kiosks to print receipts for consumers or print on linerless labels.",
        "label": "POS Automation and Banking [Member]",
        "terseLabel": "POS Automation [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_PrepaidTaxes": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrepaidTaxes",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsCurrent",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prepaid income taxes",
        "documentation": "Amount of asset related to consideration paid in advance for income and other taxes that provide economic benefits within a future period of one year or the normal operating cycle, if longer."
       }
      }
     },
     "auth_ref": [
      "r429",
      "r435",
      "r491"
     ]
    },
    "us-gaap_PrimeRateMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PrimeRateMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Prime Rate [Member]",
        "documentation": "Interest rate charged by financial institutions to their most creditworthy borrowers."
       }
      }
     },
     "auth_ref": []
    },
    "srt_ProductOrServiceAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductOrServiceAxis",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Axis]"
       }
      }
     },
     "auth_ref": [
      "r178",
      "r313",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r425",
      "r443",
      "r453",
      "r475",
      "r495",
      "r496",
      "r501",
      "r519"
     ]
    },
    "srt_ProductsAndServicesDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ProductsAndServicesDomain",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Product and Service [Domain]"
       }
      }
     },
     "auth_ref": [
      "r178",
      "r313",
      "r332",
      "r333",
      "r334",
      "r335",
      "r336",
      "r337",
      "r425",
      "r443",
      "r453",
      "r475",
      "r495",
      "r496",
      "r501",
      "r519"
     ]
    },
    "us-gaap_PropertyPlantAndEquipmentNet": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "PropertyPlantAndEquipmentNet",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_AssetsNoncurrent",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Fixed assets, net of accumulated depreciation of $18,947 and $18,646",
        "label": "Property, Plant and Equipment, Net",
        "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures."
       }
      }
     },
     "auth_ref": [
      "r6",
      "r318",
      "r326",
      "r452"
     ]
    },
    "srt_RangeAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeAxis",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Axis]"
       }
      }
     },
     "auth_ref": [
      "r192",
      "r193",
      "r194",
      "r195",
      "r248",
      "r249",
      "r254",
      "r255",
      "r256",
      "r311",
      "r312",
      "r338",
      "r353",
      "r354",
      "r404",
      "r406",
      "r408",
      "r409",
      "r411",
      "r423",
      "r424",
      "r434",
      "r442",
      "r450",
      "r454",
      "r457",
      "r494",
      "r499",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516"
     ]
    },
    "srt_RangeMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "RangeMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statistical Measurement [Domain]"
       }
      }
     },
     "auth_ref": [
      "r192",
      "r193",
      "r194",
      "r195",
      "r248",
      "r249",
      "r254",
      "r255",
      "r256",
      "r311",
      "r312",
      "r338",
      "r353",
      "r354",
      "r404",
      "r406",
      "r408",
      "r409",
      "r411",
      "r423",
      "r424",
      "r434",
      "r442",
      "r450",
      "r454",
      "r457",
      "r494",
      "r499",
      "r512",
      "r513",
      "r514",
      "r515",
      "r516"
     ]
    },
    "us-gaap_ResearchAndDevelopmentExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ResearchAndDevelopmentExpense",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Engineering, design and product development",
        "documentation": "The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use."
       }
      }
     },
     "auth_ref": [
      "r50",
      "r260",
      "r517"
     ]
    },
    "us-gaap_RetainedEarningsAccumulatedDeficit": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsAccumulatedDeficit",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained earnings",
        "documentation": "Amount of accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r61",
      "r87",
      "r323",
      "r342",
      "r344",
      "r346",
      "r364",
      "r452"
     ]
    },
    "us-gaap_RetainedEarningsMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RetainedEarningsMember",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Retained Earnings [Member]",
        "documentation": "Accumulated undistributed earnings (deficit)."
       }
      }
     },
     "auth_ref": [
      "r105",
      "r136",
      "r137",
      "r138",
      "r140",
      "r146",
      "r148",
      "r186",
      "r187",
      "r257",
      "r258",
      "r259",
      "r269",
      "r270",
      "r282",
      "r284",
      "r285",
      "r287",
      "r288",
      "r339",
      "r341",
      "r348",
      "r522"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerExcludingAssessedTax",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_GrossProfit",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "verboseLabel": "Net sales",
        "label": "Revenue from Contract with Customer, Excluding Assessed Tax",
        "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise."
       }
      }
     },
     "auth_ref": [
      "r167",
      "r168",
      "r170",
      "r173",
      "r174",
      "r178",
      "r179",
      "r181",
      "r244",
      "r245",
      "r313"
     ]
    },
    "us-gaap_RevenueFromContractWithCustomerTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueFromContractWithCustomerTextBlock",
     "presentation": [
      "http://transact-tech.com/role/Revenue"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Revenue",
        "label": "Revenue from Contract with Customer [Text Block]",
        "documentation": "The entire disclosure of revenue from contract with customer to transfer good or service and to transfer nonfinancial asset. Includes, but is not limited to, disaggregation of revenue, credit loss recognized from contract with customer, judgment and change in judgment related to contract with customer, and asset recognized from cost incurred to obtain or fulfill contract with customer. Excludes insurance and lease contracts."
       }
      }
     },
     "auth_ref": [
      "r104",
      "r236",
      "r237",
      "r238",
      "r239",
      "r240",
      "r241",
      "r242",
      "r243",
      "r247"
     ]
    },
    "us-gaap_RevenuePerformanceObligationAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenuePerformanceObligationAbstract",
     "presentation": [
      "http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligations [Abstract]",
        "label": "Revenue, Performance Obligation [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligation",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Remaining performance obligations",
        "label": "Revenue, Remaining Performance Obligation, Amount",
        "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue."
       }
      }
     },
     "auth_ref": [
      "r100"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems",
     "presentation": [
      "http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1": {
     "xbrltype": "durationItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1",
     "presentation": [
      "http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Expected timing of satisfaction, period",
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period",
        "documentation": "Period in which remaining performance obligation is expected to be recognized as revenue, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis",
     "presentation": [
      "http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]",
        "documentation": "Start date of time band for expected timing of satisfaction of remaining performance obligation, in YYYY-MM-DD format."
       }
      }
     },
     "auth_ref": [
      "r101"
     ]
    },
    "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable",
     "presentation": [
      "http://transact-tech.com/role/RevenueRemainingPerformanceObligationsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]",
        "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation."
       }
      }
     },
     "auth_ref": []
    },
    "tact_RevolvingCreditFacilitySienaLendingGroupLlcMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "RevolvingCreditFacilitySienaLendingGroupLlcMember",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Arrangement with Siena Lending Group LLC that provides a revolving credit line, subject to a borrowing base.",
        "label": "Revolving Credit Facility, Siena Lending Group Llc [Member]",
        "terseLabel": "Sienna Credit Facility [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "ecd_Rule10b51ArrAdoptedFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrAdoptedFlag",
     "presentation": [
      "http://transact-tech.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Adopted",
        "label": "Rule 10b5-1 Arrangement Adopted [Flag]"
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "ecd_Rule10b51ArrTrmntdFlag": {
     "xbrltype": "booleanItemType",
     "nsuri": "http://xbrl.sec.gov/ecd/2023",
     "localname": "Rule10b51ArrTrmntdFlag",
     "presentation": [
      "http://transact-tech.com/role/InsiderTradingArrangements"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Rule 10b5-1 Arrangement Terminated",
        "label": "Rule 10b5-1 Arrangement Terminated [Flag]"
       }
      }
     },
     "auth_ref": [
      "r471"
     ]
    },
    "srt_ScenarioForecastMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioForecastMember",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Forecast [Member]"
       }
      }
     },
     "auth_ref": [
      "r250",
      "r487"
     ]
    },
    "srt_ScenarioUnspecifiedDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "ScenarioUnspecifiedDomain",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Domain]"
       }
      }
     },
     "auth_ref": [
      "r149",
      "r250",
      "r473",
      "r487"
     ]
    },
    "us-gaap_ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfAntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareTable",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Schedule of Antidilutive Securities Excluded from Computation of Earnings Per Share [Table]",
        "documentation": "Schedule for securities (including those issuable pursuant to contingent stock agreements) that could potentially dilute basic earnings per share (EPS) in the future that were not included in the computation of diluted EPS because to do so would increase EPS amounts or decrease loss per share amounts for the period presented, by Antidilutive Securities."
       }
      }
     },
     "auth_ref": [
      "r30"
     ]
    },
    "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Earnings per Share",
        "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]",
        "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations."
       }
      }
     },
     "auth_ref": [
      "r488"
     ]
    },
    "us-gaap_ScheduleOfInventoryCurrentTableTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ScheduleOfInventoryCurrentTableTextBlock",
     "presentation": [
      "http://transact-tech.com/role/InventoriesTables"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Inventories",
        "label": "Schedule of Inventory, Current [Table Text Block]",
        "documentation": "Tabular disclosure of the carrying amount as of the balance sheet date of merchandise, goods, commodities, or supplies held for future sale or to be used in manufacturing, servicing or production process."
       }
      }
     },
     "auth_ref": [
      "r11",
      "r65",
      "r66",
      "r67"
     ]
    },
    "us-gaap_SecuredDebt": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SecuredDebt",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Balance outstanding",
        "label": "Secured Debt",
        "documentation": "Carrying value as of the balance sheet date, including the current and noncurrent portions, of collateralized debt obligations (with maturities initially due after one year or beyond the operating cycle, if longer). Such obligations include mortgage loans, chattel loans, and any other borrowings secured by assets of the borrower."
       }
      }
     },
     "auth_ref": [
      "r10",
      "r91",
      "r518"
     ]
    },
    "dei_Security12bTitle": {
     "xbrltype": "securityTitleItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "Security12bTitle",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Title of 12(b) Security",
        "documentation": "Title of a 12(b) registered security."
       }
      }
     },
     "auth_ref": [
      "r465"
     ]
    },
    "dei_SecurityExchangeName": {
     "xbrltype": "edgarExchangeCodeItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "SecurityExchangeName",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Security Exchange Name",
        "documentation": "Name of the Exchange on which a security is registered."
       }
      }
     },
     "auth_ref": [
      "r467"
     ]
    },
    "srt_SegmentGeographicalDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "SegmentGeographicalDomain",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Domain]"
       }
      }
     },
     "auth_ref": [
      "r179",
      "r180",
      "r350",
      "r351",
      "r352",
      "r405",
      "r407",
      "r410",
      "r412",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r426",
      "r444",
      "r457",
      "r501",
      "r519"
     ]
    },
    "us-gaap_SellingAndMarketingExpense": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SellingAndMarketingExpense",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations": {
       "parentTag": "us-gaap_OperatingExpenses",
       "weight": 1.0,
       "order": 2.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Selling and marketing",
        "documentation": "The aggregate total amount of expenses directly related to the marketing or selling of products or services."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_ShareBasedCompensation": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "ShareBasedCompensation",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows": {
       "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities",
       "weight": 1.0,
       "order": 3.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfCashFlows"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Share-based compensation expense",
        "documentation": "Amount of noncash expense for share-based payment arrangement."
       }
      }
     },
     "auth_ref": [
      "r4"
     ]
    },
    "us-gaap_SharesPaidForTaxWithholdingForShareBasedCompensation": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SharesPaidForTaxWithholdingForShareBasedCompensation",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Relinquishment of stock awards to pay withholding taxes (in shares)",
        "label": "Share-Based Payment Arrangement, Shares Withheld for Tax Withholding Obligation",
        "documentation": "Number of shares used to settle grantee's tax withholding obligation for award under share-based payment arrangement."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementEquityComponentsAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementEquityComponentsAxis",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Equity Components [Axis]",
        "documentation": "Information by component of equity."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r22",
      "r105",
      "r124",
      "r125",
      "r126",
      "r136",
      "r137",
      "r138",
      "r140",
      "r146",
      "r148",
      "r165",
      "r186",
      "r187",
      "r232",
      "r257",
      "r258",
      "r259",
      "r269",
      "r270",
      "r282",
      "r283",
      "r284",
      "r285",
      "r286",
      "r287",
      "r288",
      "r293",
      "r294",
      "r295",
      "r296",
      "r297",
      "r298",
      "r308",
      "r339",
      "r340",
      "r341",
      "r348",
      "r401"
     ]
    },
    "srt_StatementGeographicalAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementGeographicalAxis",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Geographical [Axis]"
       }
      }
     },
     "auth_ref": [
      "r179",
      "r180",
      "r350",
      "r351",
      "r352",
      "r405",
      "r407",
      "r410",
      "r412",
      "r413",
      "r414",
      "r415",
      "r416",
      "r417",
      "r418",
      "r419",
      "r420",
      "r421",
      "r422",
      "r426",
      "r444",
      "r457",
      "r501",
      "r519"
     ]
    },
    "us-gaap_StatementLineItems": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementLineItems",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Line Items]",
        "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r137",
      "r138",
      "r165",
      "r313",
      "r345",
      "r349",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r363",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r382",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r401",
      "r458"
     ]
    },
    "us-gaap_StatementOfCashFlowsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfCashFlowsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfFinancialPositionAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfFinancialPositionAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED BALANCE SHEETS [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE (LOSS) INCOME [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StatementOfStockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementOfStockholdersEquityAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN SHAREHOLDERS' EQUITY [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "srt_StatementScenarioAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/srt/2023",
     "localname": "StatementScenarioAxis",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Scenario [Axis]"
       }
      }
     },
     "auth_ref": [
      "r149",
      "r250",
      "r473",
      "r474",
      "r487"
     ]
    },
    "us-gaap_StatementTable": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StatementTable",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Statement [Table]",
        "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed."
       }
      }
     },
     "auth_ref": [
      "r136",
      "r137",
      "r138",
      "r165",
      "r313",
      "r345",
      "r349",
      "r355",
      "r356",
      "r357",
      "r358",
      "r359",
      "r360",
      "r363",
      "r366",
      "r367",
      "r368",
      "r369",
      "r370",
      "r371",
      "r372",
      "r373",
      "r374",
      "r376",
      "r377",
      "r378",
      "r379",
      "r380",
      "r382",
      "r385",
      "r386",
      "r387",
      "r388",
      "r389",
      "r390",
      "r391",
      "r392",
      "r393",
      "r394",
      "r395",
      "r396",
      "r397",
      "r398",
      "r401",
      "r458"
     ]
    },
    "us-gaap_StockCompensationPlanMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockCompensationPlanMember",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Stock Awards [Member]",
        "label": "Share-Based Payment Arrangement [Member]",
        "documentation": "Share-based payment arrangement in which award of equity shares are granted. Arrangement includes, but is not limited to, grantor incurring liability for product and service based on price of its shares."
       }
      }
     },
     "auth_ref": [
      "r489"
     ]
    },
    "us-gaap_StockGrantedDuringPeriodValueSharebasedCompensationForfeited": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockGrantedDuringPeriodValueSharebasedCompensationForfeited",
     "crdr": "debit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Relinquishment of stock awards to pay for withholding taxes",
        "label": "Shares Granted, Value, Share-Based Payment Arrangement, Forfeited",
        "documentation": "Value of forfeited shares granted under share-based payment arrangement. Excludes employee stock ownership plan (ESOP)."
       }
      }
     },
     "auth_ref": [
      "r9"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodSharesStockOptionsExercised",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of shares from stock awards (in shares)",
        "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Options, Exercises in Period",
        "documentation": "Number of share options (or share units) exercised during the current period."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r58",
      "r59",
      "r87",
      "r253"
     ]
    },
    "us-gaap_StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures",
     "crdr": "credit",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Issuance of common stock from restricted stock units",
        "label": "Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures",
        "documentation": "Value of stock related to Restricted Stock Awards issued during the period, net of the stock value of such awards forfeited."
       }
      }
     },
     "auth_ref": [
      "r8",
      "r87"
     ]
    },
    "us-gaap_StockTransactionsParentheticalDisclosuresAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockTransactionsParentheticalDisclosuresAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Supplemental share information",
        "label": "Stock Transactions, Parenthetical Disclosure [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_StockholdersEquity": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquity",
     "crdr": "credit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity",
       "weight": 1.0,
       "order": 1.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "totalLabel": "Total shareholders' equity",
        "periodEndLabel": "Ending balance",
        "periodStartLabel": "Beginning balance",
        "label": "Equity, Attributable to Parent",
        "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest."
       }
      }
     },
     "auth_ref": [
      "r59",
      "r62",
      "r63",
      "r82",
      "r365",
      "r381",
      "r402",
      "r403",
      "r452",
      "r464",
      "r482",
      "r490",
      "r504",
      "r522"
     ]
    },
    "us-gaap_StockholdersEquityAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "StockholdersEquityAbstract",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets",
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Shareholders' equity:"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsAbstract",
     "lang": {
      "en-us": {
       "role": {
        "label": "Subsequent events [Abstract]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_SubsequentEventsTextBlock": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "SubsequentEventsTextBlock",
     "presentation": [
      "http://transact-tech.com/role/SubsequentEvents"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Subsequent events",
        "label": "Subsequent Events [Text Block]",
        "documentation": "The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business."
       }
      }
     },
     "auth_ref": [
      "r309",
      "r310"
     ]
    },
    "dei_TradingSymbol": {
     "xbrltype": "tradingSymbolItemType",
     "nsuri": "http://xbrl.sec.gov/dei/2023",
     "localname": "TradingSymbol",
     "presentation": [
      "http://transact-tech.com/role/DocumentAndEntityInformation"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Trading Symbol",
        "documentation": "Trading symbol of an instrument as listed on an exchange."
       }
      }
     },
     "auth_ref": []
    },
    "tact_TransactServicesGroupMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://transact-tech.com/20240331",
     "localname": "TransactServicesGroupMember",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "documentation": "Revenue from range of supplies and consumables used in the printing and scanning activities of customers in the restaurant and hospitality, banking, retail, casino and gaming, government and oil and gas exploration markets.",
        "label": "TransAct Services Group [Member]",
        "terseLabel": "TransAct Services Group [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_TreasuryStockCommonMember": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonMember",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfChangesInShareholdersEquity"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury Stock [Member]",
        "documentation": "Previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_TreasuryStockCommonShares": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockCommonShares",
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheetsParenthetical"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Treasury stock (in shares)",
        "documentation": "Number of previously issued common shares repurchased by the issuing entity and held in treasury."
       }
      }
     },
     "auth_ref": [
      "r40"
     ]
    },
    "us-gaap_TreasuryStockValue": {
     "xbrltype": "monetaryItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "TreasuryStockValue",
     "crdr": "debit",
     "calculation": {
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets": {
       "parentTag": "us-gaap_StockholdersEquity",
       "weight": -1.0,
       "order": 5.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedBalanceSheets"
     ],
     "lang": {
      "en-us": {
       "role": {
        "negatedLabel": "Treasury stock, at cost (4,044,842 shares)",
        "label": "Treasury Stock, Value",
        "documentation": "The amount allocated to treasury stock. Treasury stock is common and preferred shares of an entity that were issued, repurchased by the entity, and are held in its treasury."
       }
      }
     },
     "auth_ref": [
      "r21",
      "r40",
      "r41"
     ]
    },
    "country_US": {
     "xbrltype": "domainItemType",
     "nsuri": "http://xbrl.sec.gov/country/2023",
     "localname": "US",
     "presentation": [
      "http://transact-tech.com/role/RevenueDisaggregationOfRevenueDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "United States [Member]"
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_UseOfEstimates": {
     "xbrltype": "textBlockItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "UseOfEstimates",
     "presentation": [
      "http://transact-tech.com/role/BasisOfPresentationPolicies"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Use of Assumptions and Estimates",
        "label": "Use of Estimates, Policy [Policy Text Block]",
        "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles."
       }
      }
     },
     "auth_ref": [
      "r31",
      "r32",
      "r33",
      "r96",
      "r97",
      "r98",
      "r99"
     ]
    },
    "us-gaap_VariableRateAxis": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateAxis",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Axis]",
        "documentation": "Information by type of variable rate."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_VariableRateDomain": {
     "xbrltype": "domainItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "VariableRateDomain",
     "presentation": [
      "http://transact-tech.com/role/BorrowingsDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Variable Rate [Domain]",
        "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index."
       }
      }
     },
     "auth_ref": []
    },
    "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfDilutedSharesOutstanding",
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "parentTag": null,
       "weight": null,
       "order": null,
       "root": true
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Diluted (in shares)",
        "totalLabel": "Diluted: Weighted average common and common equivalent shares outstanding (in shares)",
        "documentation": "The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period."
       }
      }
     },
     "auth_ref": [
      "r152",
      "r160"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": {
     "xbrltype": "sharesItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingBasic",
     "calculation": {
      "http://transact-tech.com/role/EarningsPerShareDetails": {
       "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding",
       "weight": 1.0,
       "order": 0.0
      }
     },
     "presentation": [
      "http://transact-tech.com/role/CondensedConsolidatedStatementsOfOperations",
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "label": "Basic (in shares)",
        "terseLabel": "Basic: Weighted average common shares outstanding (in shares)",
        "documentation": "Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period."
       }
      }
     },
     "auth_ref": [
      "r151",
      "r160"
     ]
    },
    "us-gaap_WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract": {
     "xbrltype": "stringItemType",
     "nsuri": "http://fasb.org/us-gaap/2023",
     "localname": "WeightedAverageNumberOfSharesOutstandingDilutedDisclosureItemsAbstract",
     "presentation": [
      "http://transact-tech.com/role/EarningsPerShareDetails"
     ],
     "lang": {
      "en-us": {
       "role": {
        "terseLabel": "Shares [Abstract]",
        "label": "Weighted Average Number of Shares Outstanding Reconciliation [Abstract]"
       }
      }
     },
     "auth_ref": []
    }
   }
  }
 },
 "std_ref": {
  "r0": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "SubTopic": "20",
   "Topic": "940",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1"
  },
  "r1": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "SubTopic": "230",
   "Topic": "830",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r2": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r3": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10A",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "220",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-10A"
  },
  "r4": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r5": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "230",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r6": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "SubTopic": "10",
   "Topic": "360",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r7": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1A",
   "Subparagraph": "(c),(3)",
   "SubTopic": "10",
   "Topic": "810",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1A"
  },
  "r8": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "SubTopic": "10",
   "Topic": "505",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-2"
  },
  "r9": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "c(2)",
   "SubTopic": "10",
   "Topic": "718",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r10": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(22))",
   "SubTopic": "10",
   "Topic": "210",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r11": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483489/210-10-50-1"
  },
  "r12": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r13": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19(b),22(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r14": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.19-26)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r15": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.20)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r16": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.21)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r17": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r18": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.22)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r19": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.24)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r20": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.25)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r21": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29,30)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r22": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "210",
   "SubTopic": "10",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02.29-31)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r23": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14"
  },
  "r24": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "14A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-14A"
  },
  "r25": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "220",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-5"
  },
  "r26": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-4"
  },
  "r27": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-3"
  },
  "r28": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-4"
  },
  "r29": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "230",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-5"
  },
  "r30": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "260",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r31": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4"
  },
  "r32": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8"
  },
  "r33": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "275",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9"
  },
  "r34": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1"
  },
  "r35": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "350",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "((a)(1),(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r36": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r37": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "360",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1"
  },
  "r38": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-3"
  },
  "r39": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "10",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-8"
  },
  "r40": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1"
  },
  "r41": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "505",
   "SubTopic": "30",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481520/505-30-50-4"
  },
  "r42": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-12"
  },
  "r43": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "718",
   "SubTopic": "20",
   "Section": "55",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481089/718-20-55-13"
  },
  "r44": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "1A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A"
  },
  "r45": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2"
  },
  "r46": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3"
  },
  "r47": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "835",
   "SubTopic": "30",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8"
  },
  "r48": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "210",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03.17)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r49": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "942",
   "SubTopic": "470",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3"
  },
  "r50": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Name": "Accounting Standards Codification",
   "Topic": "985",
   "SubTopic": "20",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481283/985-20-50-1"
  },
  "r51": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "205",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//205/tableOfContent"
  },
  "r52": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r53": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r54": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 201.5-02(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r55": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r56": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r57": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r58": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(28))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r59": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(29))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r60": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r61": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r62": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r63": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(31))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r64": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(32))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r65": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r66": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r67": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r68": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-11"
  },
  "r69": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(10))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r70": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(20))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r71": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.1,2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r72": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r73": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r74": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r75": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03.9)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r76": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "13",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-13"
  },
  "r77": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r78": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-25"
  },
  "r79": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r80": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "235",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//235/tableOfContent"
  },
  "r81": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "275",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//275/tableOfContent"
  },
  "r82": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 4.E)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480418/310-10-S99-2"
  },
  "r83": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "330",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 5.BB)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480581/330-10-S99-2"
  },
  "r84": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "470",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//470/tableOfContent"
  },
  "r85": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-6"
  },
  "r86": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-7"
  },
  "r87": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r88": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r89": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r90": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(13))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r91": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r92": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r93": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r94": {
   "role": "http://fasb.org/us-gaap/role/ref/legacyRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r95": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "SubTopic": "20",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482659/740-20-45-2"
  },
  "r96": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r97": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1"
  },
  "r98": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11"
  },
  "r99": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "SubTopic": "10",
   "Topic": "275",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12"
  },
  "r100": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(a)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r101": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(1)",
   "SubTopic": "10",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r102": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "SubTopic": "10",
   "Topic": "740",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9"
  },
  "r103": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h))",
   "SubTopic": "10",
   "Topic": "235",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r104": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Name": "Accounting Standards Codification",
   "Topic": "606",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//606/tableOfContent"
  },
  "r105": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "105",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479343/105-10-65-6"
  },
  "r106": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "205",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483499/205-20-50-7"
  },
  "r107": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r108": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-5"
  },
  "r109": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r110": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r111": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r112": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(16))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r113": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r114": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r115": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(30)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r116": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r117": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r118": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r119": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r120": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r121": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1A",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1A"
  },
  "r122": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r123": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482790/220-10-45-1B"
  },
  "r124": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r125": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r126": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r127": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(24))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r128": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.5-03(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2"
  },
  "r129": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "15",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15"
  },
  "r130": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-24"
  },
  "r131": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482913/230-10-50-8"
  },
  "r132": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r133": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r134": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r135": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-04(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-3"
  },
  "r136": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r137": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r138": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r139": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r140": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-1"
  },
  "r141": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r142": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-11"
  },
  "r143": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-3"
  },
  "r144": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r145": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r146": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-7"
  },
  "r147": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-8"
  },
  "r148": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-9"
  },
  "r149": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "5",
   "Subparagraph": "(SAB Topic 11.M.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480530/250-10-S99-5"
  },
  "r150": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//260/tableOfContent"
  },
  "r151": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-10"
  },
  "r152": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "16",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-16"
  },
  "r153": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-2"
  },
  "r154": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-22"
  },
  "r155": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-23"
  },
  "r156": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-28A"
  },
  "r157": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r158": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "60B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-60B"
  },
  "r159": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482689/260-10-45-7"
  },
  "r160": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r161": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r162": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-2"
  },
  "r163": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-3"
  },
  "r164": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-15"
  },
  "r165": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "272",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483014/272-10-45-1"
  },
  "r166": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r167": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r168": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r169": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "22",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-22"
  },
  "r170": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r171": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r172": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r173": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r174": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r175": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r176": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r177": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "32",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32"
  },
  "r178": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "40",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-40"
  },
  "r179": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r180": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "41",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-41"
  },
  "r181": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "42",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-42"
  },
  "r182": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-2"
  },
  "r183": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9"
  },
  "r184": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-4"
  },
  "r185": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r186": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "4",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-4"
  },
  "r187": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "5",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479654/326-10-65-5"
  },
  "r188": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "326",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1"
  },
  "r189": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "330",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//330/tableOfContent"
  },
  "r190": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-1"
  },
  "r191": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "350",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2"
  },
  "r192": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-4"
  },
  "r193": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r194": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r195": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r196": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r197": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r198": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r199": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r200": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r201": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r202": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iii)(B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r203": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(4)(iv))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r204": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1B",
   "Subparagraph": "(SX 210.13-02(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1B"
  },
  "r205": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r206": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r207": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r208": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r209": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r210": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r211": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r212": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r213": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r214": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r215": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r216": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1C",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1C"
  },
  "r217": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r218": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r219": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1D",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1D"
  },
  "r220": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r221": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r222": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r223": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1E",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1E"
  },
  "r224": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r225": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r226": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r227": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1F",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1F"
  },
  "r228": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r229": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r230": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r231": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1I",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1I"
  },
  "r232": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.3-04)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480008/505-10-S99-1"
  },
  "r233": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-1"
  },
  "r234": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-2"
  },
  "r235": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479837/606-10-45-3"
  },
  "r236": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r237": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r238": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r239": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r240": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r241": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-12"
  },
  "r242": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13"
  },
  "r243": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "15",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-15"
  },
  "r244": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-4"
  },
  "r245": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r246": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "8",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-8"
  },
  "r247": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-9"
  },
  "r248": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(d)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1"
  },
  "r249": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r250": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Subparagraph": "(f)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5"
  },
  "r251": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "35",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480483/718-10-35-2"
  },
  "r252": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480454/718-10-45-1"
  },
  "r253": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(c)(1)(iv)(02)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r254": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r255": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r256": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2"
  },
  "r257": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r258": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r259": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "718",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "15",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15"
  },
  "r260": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "730",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482916/730-10-50-1"
  },
  "r261": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//740/tableOfContent"
  },
  "r262": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-4"
  },
  "r263": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6"
  },
  "r264": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-10"
  },
  "r265": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12"
  },
  "r266": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "14",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-14"
  },
  "r267": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "17",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-17"
  },
  "r268": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "21",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-21"
  },
  "r269": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r270": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "8",
   "Subparagraph": "(d)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482615/740-10-65-8"
  },
  "r271": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.5.Q1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r272": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB TOPIC 6.I.7)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r273": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r274": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 6.I.Fact.2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1"
  },
  "r275": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SAB Topic 11.C)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-2"
  },
  "r276": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "270",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1"
  },
  "r277": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "740",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482603/740-30-50-2"
  },
  "r278": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r279": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "25",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481231/810-10-45-25"
  },
  "r280": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(bb)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r281": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "810",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-3"
  },
  "r282": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r283": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r284": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r285": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r286": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(h)(1)(iv)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r287": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "6",
   "Subparagraph": "(i)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480528/815-20-65-6"
  },
  "r288": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r289": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r290": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r291": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r292": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "230",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1"
  },
  "r293": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "17",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-17"
  },
  "r294": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r295": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r296": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r297": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "20",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481694/830-30-45-20"
  },
  "r298": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "830",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481674/830-30-50-1"
  },
  "r299": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "835",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482900/835-30-50-1"
  },
  "r300": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//842-20/tableOfContent"
  },
  "r301": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r302": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-1"
  },
  "r303": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5"
  },
  "r304": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r305": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r306": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4"
  },
  "r307": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r308": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "848",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(a)(3)(iii)(03)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483550/848-10-65-2"
  },
  "r309": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "Name": "Accounting Standards Codification",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//855/tableOfContent"
  },
  "r310": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-2"
  },
  "r311": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r312": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "910",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482546/910-10-50-6"
  },
  "r313": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "924",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 11.L)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479941/924-10-S99-1"
  },
  "r314": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-03(10)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1"
  },
  "r315": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(26))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r316": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-04(27))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1"
  },
  "r317": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.9-05(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1"
  },
  "r318": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "942",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1"
  },
  "r319": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(12))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r320": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r321": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r322": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r323": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r324": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(25))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r325": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r326": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r327": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(11))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r328": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(18))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r329": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(22))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r330": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(23))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r331": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-04(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1"
  },
  "r332": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column A))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r333": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r334": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r335": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r336": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r337": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "235",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-17(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-2"
  },
  "r338": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7A",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-7A"
  },
  "r339": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r340": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r341": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(f)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r342": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(i)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r343": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(g)(2)(ii)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r344": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "2",
   "Subparagraph": "(h)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480016/944-40-65-2"
  },
  "r345": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-03(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3"
  },
  "r346": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "11",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-11"
  },
  "r347": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480990/946-20-50-13"
  },
  "r348": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r349": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4"
  },
  "r350": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r351": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2"
  },
  "r352": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r353": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r354": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r355": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r356": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r357": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r358": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(12)(b)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r359": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r360": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(13)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r361": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(14))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r362": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(15))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r363": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(16)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r364": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(17))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r365": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(19))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r366": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r367": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(2)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r368": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r369": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r370": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(3)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r371": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r372": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r373": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r374": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(6)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r375": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(8))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r376": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r377": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r378": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r379": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-04(9)(e))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1"
  },
  "r380": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r381": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.6-05(4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2"
  },
  "r382": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "3",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3"
  },
  "r383": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "6",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-6"
  },
  "r384": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "7",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7"
  },
  "r385": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r386": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(2)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r387": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r388": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r389": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r390": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r391": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r392": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(a)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r393": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r394": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r395": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(3))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r396": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r397": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r398": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c)(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r399": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(9))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r400": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(1)(d))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r401": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r402": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r403": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r404": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r405": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r406": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r407": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r408": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r409": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r410": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r411": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r412": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r413": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "948",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-29(Footnote 4))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1"
  },
  "r414": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column B))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r415": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column C))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r416": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column D))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r417": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column E))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r418": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column F))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r419": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column G))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r420": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column H))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r421": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Column I))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r422": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "970",
   "SubTopic": "360",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-28(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1"
  },
  "r423": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "976",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1"
  },
  "r424": {
   "role": "http://www.xbrl.org/2003/role/disclosureRef",
   "Topic": "978",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1"
  },
  "r425": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(a)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r426": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "13H",
   "Subparagraph": "(b)",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H"
  },
  "r427": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r428": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r429": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(g)(4)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483467/210-10-45-1"
  },
  "r430": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6)(a)(1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r431": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "52",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482635/260-10-55-52"
  },
  "r432": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "30",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-30"
  },
  "r433": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "280",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "31",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-31"
  },
  "r434": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "310",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481933/310-10-55-12A"
  },
  "r435": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "05",
   "Paragraph": "5",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482955/340-10-05-5"
  },
  "r436": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482548/350-20-55-24"
  },
  "r437": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r438": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69B",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69B"
  },
  "r439": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69C",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69C"
  },
  "r440": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69E",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69E"
  },
  "r441": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "69F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481568/470-20-55-69F"
  },
  "r442": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "505",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "13",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13"
  },
  "r443": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r444": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r445": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r446": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r447": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(e)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r448": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r449": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "91",
   "Subparagraph": "(g)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479777/606-10-55-91"
  },
  "r450": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "715",
   "SubTopic": "80",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "8",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480547/715-80-55-8"
  },
  "r451": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "53",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479589/842-20-55-53"
  },
  "r452": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481372/852-10-55-10"
  },
  "r453": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "2",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479401/944-30-55-2"
  },
  "r454": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "944",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "29F",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-29F"
  },
  "r455": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1"
  },
  "r456": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Subparagraph": "(a)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6"
  },
  "r457": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1"
  },
  "r458": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "310",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1"
  },
  "r459": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1"
  },
  "r460": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "2",
   "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2"
  },
  "r461": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3"
  },
  "r462": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "320",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "6",
   "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6"
  },
  "r463": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10"
  },
  "r464": {
   "role": "http://www.xbrl.org/2003/role/exampleRef",
   "Topic": "946",
   "SubTopic": "830",
   "Name": "Accounting Standards Codification",
   "Section": "55",
   "Paragraph": "12",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12"
  },
  "r465": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b"
  },
  "r466": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "b-2"
  },
  "r467": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Exchange Act",
   "Number": "240",
   "Section": "12",
   "Subsection": "d1-1"
  },
  "r468": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Form 10-Q",
   "Number": "240",
   "Section": "308",
   "Subsection": "a"
  },
  "r469": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Forms 10-K, 10-Q, 20-F",
   "Number": "240",
   "Section": "13",
   "Subsection": "a-1"
  },
  "r470": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a"
  },
  "r471": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-K",
   "Number": "229",
   "Section": "408",
   "Subsection": "a",
   "Paragraph": "1"
  },
  "r472": {
   "role": "http://www.xbrl.org/2003/role/presentationRef",
   "Publisher": "SEC",
   "Name": "Regulation S-T",
   "Number": "232",
   "Section": "405"
  },
  "r473": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-10"
  },
  "r474": {
   "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef",
   "Topic": "855",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483399/855-10-50-3"
  },
  "r475": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4H",
   "SubTopic": "40",
   "Topic": "944",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H"
  },
  "r476": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "210",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.5-02(6))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1"
  },
  "r477": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-4"
  },
  "r478": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-5"
  },
  "r479": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "220",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-6"
  },
  "r480": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "230",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "28",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-28"
  },
  "r481": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(f))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r482": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(g)(1)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r483": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "235",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1"
  },
  "r484": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "23",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-23"
  },
  "r485": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "24",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-24"
  },
  "r486": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "5",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483421/250-10-45-5"
  },
  "r487": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "250",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483443/250-10-50-4"
  },
  "r488": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r489": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "260",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482662/260-10-50-1"
  },
  "r490": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "323",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481687/323-10-50-3"
  },
  "r491": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "340",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483032/340-10-45-1"
  },
  "r492": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r493": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "350",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Subparagraph": "(h)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1"
  },
  "r494": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "410",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Subparagraph": "(c)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481931/410-30-50-10"
  },
  "r495": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "9",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483076/450-20-50-9"
  },
  "r496": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "450",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SAB Topic 5.Y.Q2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480102/450-20-S99-1"
  },
  "r497": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(ii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r498": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1A",
   "Subparagraph": "(SX 210.13-01(a)(4)(iii))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480097/470-10-S99-1A"
  },
  "r499": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "470",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1B",
   "Subparagraph": "(d)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481139/470-20-50-1B"
  },
  "r500": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "10",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-10"
  },
  "r501": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "606",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "5",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-5"
  },
  "r502": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "6A",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480682/815-20-25-6A"
  },
  "r503": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "815",
   "SubTopic": "40",
   "Name": "Accounting Standards Codification",
   "Section": "65",
   "Paragraph": "1",
   "Subparagraph": "(e)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480175/815-40-65-1"
  },
  "r504": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "825",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "28",
   "Subparagraph": "(f)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-28"
  },
  "r505": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481956/830-20-45-1"
  },
  "r506": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "830",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481926/830-20-50-1"
  },
  "r507": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-4"
  },
  "r508": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "842",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "6",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6"
  },
  "r509": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r510": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "852",
   "SubTopic": "10",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "7",
   "Subparagraph": "(b)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481404/852-10-50-7"
  },
  "r511": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r512": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r513": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "3",
   "Subparagraph": "(c)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-3"
  },
  "r514": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(1)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r515": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(2)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r516": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "860",
   "SubTopic": "20",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "4",
   "Subparagraph": "(b)(3)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147481326/860-20-50-4"
  },
  "r517": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "912",
   "SubTopic": "730",
   "Name": "Accounting Standards Codification",
   "Section": "25",
   "Paragraph": "1",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147482517/912-730-25-1"
  },
  "r518": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "210",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1"
  },
  "r519": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "944",
   "SubTopic": "30",
   "Name": "Accounting Standards Codification",
   "Section": "50",
   "Paragraph": "2B",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147479432/944-30-50-2B"
  },
  "r520": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "205",
   "Name": "Accounting Standards Codification",
   "Section": "45",
   "Paragraph": "4",
   "Subparagraph": "(a)",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4"
  },
  "r521": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "1",
   "Subparagraph": "(SX 210.6-07(7)(c))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1"
  },
  "r522": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(4)(b))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  },
  "r523": {
   "role": "http://www.xbrl.org/2009/role/commonPracticeRef",
   "Topic": "946",
   "SubTopic": "220",
   "Name": "Accounting Standards Codification",
   "Section": "S99",
   "Paragraph": "3",
   "Subparagraph": "(SX 210.6-09(7))",
   "Publisher": "FASB",
   "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3"
  }
 }
}
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>52
<FILENAME>0001140361-24-026005-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0001140361-24-026005-xbrl.zip
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
M!+QC25W\[R4#R5-);S<^K5J=6NV>=S[4"_.A6CT6=6'(%QR&;+5[]S*&S=;
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
MI2FF<5LH$1A-L\6DX#HG"K:+M'2&O!Z&7(O5>B^8QD8))RC1G@6RHC%C5$K
M!$/-LA8$UR3DLAZ3VBM.X^WRC5OB3;4WW_AY:725 !88AA>0.TCBS OFRE$"
M+;$20:$5;78B1G09QQU>='C1&%X\%QP,X-0;)PWTG&@,M5.4*2&,(MY;5N&3
MU+H@ 9(U":AV"Q(:7I#016\ZIZ]2ZY;+H*8=/\@)HX!H%7B3#?]P3[PF./B
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
M%813I'D<(P)M,Q Z+IO--:1P4\(U259Z(B2TG.QU@+8($>O0J\DJ_(]!E5!
M$TJ=H$(0QZ!F@@?LP8 ):(QH-EA(R2:4KQZJ;M'<\I\?PA$5%&UT\$$^&91!
M9^_&%X[$]."/C O]F2U4%\^Y\":Q$G0Q2'8&?>OZN;/Q4^FWE2F4>VE?]4T:
MZ&I9_ZBL*OWV=K,J6_S#]9=G#>QW.W?2,R,+_BDIC?..B$S/J:SL^;/K*&0Q
MN)C<=GQDTOLCB22FI_*@\A^/C_:.U%?W,7/JC^WPU[7]ET^X==7!\%R[K+SL
M@?ZY5:+W83EL)N61S21W6>IGI"+NL)U^-,G>Y*)X^^MCP;V\+NI[TV6S@KH(
MK["EXYMN*1]:^CY1O>_J*K]''%-0^/-9-KG)2)RE%26@] K'E@; #?:.CX4N
M.QLWO70@;_=GA1%.3DUWZL:[JI>ZU>3?G I/ONZ7Z59-O\BTWLP^LJK;;@M^
M_)/LJWX#-I/XWX]/,L>;+AWW7ESUEYKQL6\J2U5_ZG&E<A69ZN<1C./QOHOM
M5,E9%@'\S_L'GW;_L?%A/QCTY<_OU(>)"EP;Z6UHN04T#8).)4\_/=X^.-G>
M.4U.=W=^.SC\?/CK_NY)LG^P<WA\='B\?;K[:>E-"L*,0^HHW^\:^?X&PYD_
M;6UM]\W9(-O:^A"ENW,8Q'UPLOLI"9].#C_O?XHM3DY.PS]?=@].3Y+#O61\
MO\.CW? ^^^&ZBAO=G%SZZ[X9]M70A@'._C@7ML>A.0YGH16].!R;,)*6J4GQ
M^WAD'24M-8;Z,Z8\,7OCB[)=&S.#[V10KB?45$M(>)%G3%.?FI_W>/CVYN&L
M@@PW#Q$!VESR)9PYRY/= &RVBE0NHR5?5&;.$@PW%Z>P3Z:M\\==']61!F.P
MK]TPT"H,(\::UE,3.R6H4PGP>BI!<W!4LQ(TJ%]+'UMGO8S _O;[27$V&.:J
M;X//Z2Z-NRB2BZ#RY9148E6A[J8M-:=?G2K5<&NTZ*V;[J=.;FW3[V55IWEZ
MA/+ %4FN>C5O4=Y4E8H:]+/N*A4S36IT#F,),]E-E<U8L9 >JZKQS?6';B\;
MG.^$'\>+_IX69SO#/+RTRW8O36\8V=AVGKOPGYU=D\J,U-(0BBT7A&,J)7.<
M&0^Y\@*YBIV:"8  %H.:Z^6 328:WEU]F44V:K;T#GV>:U@=U#R]6L]S<$4P
M0"V5.,"+(,IA*22B2.!8,-P(45$O'%_C"JX/5Q#:1+SAU2FMPI4ED<!&EH(L
MLN]07I;I:1D%;"K^U%!2>(.1L><FA;>:>47M._1CG)S.!C2."*H]5U03H[%V
MDDIEL-<.(BC]DC@5W03L[K8RK8&^I4:*.SM^+7:\J-':R$V$P!AX0[3PBC.-
M@@>$J:$<V0JC;82P!$<(P(8+)[?$:E=(5=H5Q/HU&^1Y<I$-?%JTF\2TTKU\
MSK+^]D)F.YS$!5A1J<U'I3)/;R"H.,#.,\VX(XYY:9E45F$*E&8,5VRRUQ G
M8JCAM70K+U#0*KK4(<8K0XS%X$$%)##8"@XX)9P%S\DY(1$"FF !X=+8%]I$
M36];T7Y\6 XQ6RHVK0IK5@87*P/75@U)7;>WN]N7Y *VRML[O'"9*@**)^[R
M(BZHRM^WQ^EK(UMK(Q=;)S&U"Y+72W:=BJW_9&4[2M3M]L,]G,O*W=VMB[7:
MRZ(N%]G #DT1#GUSO<%%7$76FN'@E=.GMD76CEWNXN*B[;[]=*,MNR,6,5VN
M"B O)<:,:4HD,\I3X#"W'G#E"*G8^;&9G*Y-R5A[?>E6C8J=I35G:769E?/
M$\^@,8P19ZR&5F*--*52"5.Y(UDC*4V;B#6\A4?G"*Z())RX7B]ZAI$8A!O^
MX:*?V!HZL%Z<M/W4O6W\8JQ] 0>_3'3O+@I2CYR#QEN.*5&0:XM%P$&#46 7
MW- ED0NT"42+DYLZ;[PSZ>77L)W'?K&2% C%H""2*"L5I!Q8!'!,4B2^JOY7
M,RR&T]>TWF-)!*>])?I_=7V7J5Y);90]3_MI7L0X^#?7'G[3Y7NN7[[G(AE*
M(U4,.+D]HXAWP9(HC!0R0#H#B8%,*2B\$TY@9;$48&ED1_ 61U*Z3.[.LANP
M[/K,6#*"E)8.0RJ(HE10HK$F6"(H'8=5]?N;X#QXD\#78<8K9#MUUF/NLB&[
M;,BELY/K_) QCDWO&RL$]LA#@)@&(TA#A'EJH*66.ENY<U #?(1M2O3JLR0[
MW.APHS'<> Y(0.P B!7>A97$2"D\$48H[A@##F&S)+8C-DGE'M.O"B260X2Z
MJ>HF,6/-<FJ[;G^5W=Y6E^N9L>?GY%>_Z0WR_,<D+6NTSQ:W'S^ZU9'GCO2]
M,M)777E_3B(XVHG@<]#X*2K($:8"84LH-P0()I4&&!I@C'((V!HGZ_.RM[8>
M30D,5/,U<<+EZ\L"VX=WH-:!6F-*.K<G6PE@+J8I>*LP8H1(; 1P @D4X Q!
MR&A%*G-#D7L!6YQMU/FRG5/S(IV:KMM?9;<OR9=ME=NZ'S=L<'E1)D@-BC.7
M)6_&"X0G+FRW3OBEIHVV0DSMPNCUDEVG8NN?/-N./-G).+"9]%VW$K@EC&GY
M89R'G>:)DHQ\YO$<\,&@/Y@XTP=NNKH6\-I[YX%#GA(DL+"6$N<TX1)IBI:U
MR0-I>.?OSC_IK&T.A'TDHOY$VU*2*^$ QT12 BB2VEDGG*0, ^8HJ2]"-5^(
M?;V7W#?<]0L$QU_HO&HM7.4PNJGM(BK=I,,SE?)%3#HL-),:E7D:YV<&@&DV
MA:DE#E/D0&!3DDCIH00<8H&4\9XO>U*5M7A_FVY&M0.W#MR6/*,Z+Y AI 6G
MTH6_/$'!#Q1&&B))0#9!O5M6HC!Z51DA+<O=6_W:AO:"5(N1:-5CXB-<:B[T
MX90%T" "4TTX($("0J@A6"H&.:EPG!O.35NWQ0H=5^JPYH5A32W  H 1.)BU
MM(8%0*'* X<!)]83#(BO<;7W?,!"UFVI9!>F6RAEI)L<;Y]'MTYB:M<<U'K)
MKE.Q+O]B@0F,-Y^G5H@EVH5QW$V^%>JR17M*=U/"\VO&,CS<F]4*>]G@?"?<
M(.T/ Y,:+V<8]/./I3:-KCN-NK1[660JD.VTK[*K_<*=YX'-1BJ:#<JZC9.)
MY^E-:8-'C*34W#).G"$*VT!N 8$8"L]9C97<YUZ_U>9U$)U'W$%(.VO,+P<N
M%%-*"B8LD<'=I5!RB;W23!-I(9-X::NE C2M,TJT+$;?MH4*$WJ4O-&N[WQ:
M_#C9RBSI5MEWTZ<MGSY=G.T%6!Y'&S^.]'X*>ADBDG(,)8A5M ,*2XLE]8Y0
M0;P ;-E,#?$65]?NLD(Z6.M@;14,]"$(,YH'&HBIME@%PJ@EE(89"KC7(+B<
MR]H9@*$6[V[THO-!2!V;!3Q=;P]<,5NJ:<U8)&GAQ+(=#'7/531M^0/E7YKH
MN5JAO$7">FSZVQ6595(8!<HY"A5PE' J-+.* JR-E=Y#K)8?)P2XQ>M0JBRX
M(YD=ZBW*O#J(6XR3W@=GWCDCI".2*TNL)AIC+9S#")MPQOBEQ3$A7B,N.B>*
MM;3@2I?:T#[/=YW$U&7/="K63A5;#KBVPG&_<%D0Q_EY&.GS,Y6UJ&+5*Y_\
M;GW)MZ[;7V6WMX!X/A,V:RFD\%'EJ6D-5J[7J+SJ&$V;G/_6"NF1N.:NROK!
ME<V/7'82>4-I#S/[L%K/@.562$(8HTHK508N:7#^,7KJOF=X.B" IH*:X\
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
M]8W?SAN$.I;FV:GP74&;_MAW?W"S8\>^'^/74\VD*U@8AY&F820$<;G/7:/
M)#0F:&WAUET3,.ABR;*.-4 Z*_.P![!O#, >AU9>$(8"<"J0"OS5.(REYQEI
M8DU=+X8K>[8:>:HH9-2CU9F')KM4I:.[@-AAU'LRHO6=NGHAZ[J0/1&TT@-Z
M_@>QC@NK 3U^S-D1102@@Q;S1L)U2W=5.A5#_0AV'X2Y?STH(P^*(-T@T&.B
M"YYF)(I#S3V?!C3FOJ>DIXT),'- KHHN'*C^9CP(SJ*]^P;^=MPJZ$%GDP?3
M(\S!.HWZKG2C4/A2TC@T,0U=R;B,C"^UX"U)2/X!X20:$'8.Q;\/!R>GL?_Z
M8P&G0H$S.!;0L_V[9/N)/,TN.977T_%X:(/2?.CDMSS33C(J5B!85SK@77;1
MINOBQLHYD:E;2'Q>M.M%[#LX,[V[/_,VSZ<8#\1D( OCN6.R]*XH!.KP>YZI
M_.G1_#LT>IX\*H:2H=6K:0;>V4>;)G9MY<-^^&&,M^6OO^I,)KE6S2H]+HG]
MV/.ITO!?*)@&9Y='/M624&9:RA,M)&C/.[QD3X>7=G%[NE/K5Z]41PX$[:M!
M@8J,,+'G>30 C:$B4HI(UV,18U)%K7DB<TG%A]&@@)ZU!GW;3MFSYY_T,!G]
M>YKDM^B%V?6[L68[D]09\P<8ZN06 Y*X]3?A7W4'%O/S,@B[:3<_J75@0>PC
M3]2;-/O,O_YC)F)PP7[Z@@.B82*:'N4V(-"T#Z2G-'4#';B(;AY32FH_\+5R
M&2="G<@^(%W<6^M=WUZ%#V^+/$Y?A='*A%K[T@A*N.::1H+[8-S' >/M#9..
M8(V0+IY-.D8<P?[S USA8JB+BR@=SV<5R<IYUQ^U34&"3:"S?>R*:ZUAO!-M
M38B7Z4B!3&B%O]F4,%LW[4TRXB.9\*%3YR;GEXO#6C=B.>0Y\/_%IX]O/O(;
M_2:%%V8U+RH*NRX:[;.;?ZB?]*@E;YG5%?.*?>56OKZQ_ROT=HGR<JAY9B7D
MMCZN-4G'U0O+*]469T'H11J\R#3_\PI^U-#01JGW4TSEME];PW8@&LKW=A0:
M./;*P,G!1S%S](J7+(01ZNBP^A(^OK[V[#FXW/C:YTUVSQ-J#%.X$#C3"VY@
MI+\X?'C/'_(5Y&B@Y&^W6?60@IQVJ]AQ;4Y@0UZJ7('R&C#SMARZ31_<@M/5
M1TVF/ONY;5(+0_Z[YFJE%,\FTI2;^5>VL6V1\.4MV8WXT1TX^/\_[:3E,Y:6
MW$LF(#NRO/:%9PD?-5YGA<M6D$!TQNLCC>/DSFV&B/Z7M^]?O?[O9\_? DY\
M_>UG_KP2@;GZB0NT:Z+!$;&LO=71IZOWUU<O/SN?7[_\^_L/[S[\[>WK:^?M
M^Y<?/GW\\.GJ\^M7)Q_2>Z F+K?O/WQ^?0VT_8^+BZN1O$VSBXOG2%*\['S^
MX+S\ +1^?_WZ%?YV_>'=VU<X7.?-V_=7[U^^O7KG7'^&"[^_?O_Y^KA+Q(_3
M$9\J6-_43]\0Z!<Z6@RWL#0 ; $2Y8(]]6*:)R.=YZ]T+K-D7)X8!Q,JR3^8
MCV!JX:8H7OT,KWPQ!)^\L*;PSW]R*01S(R%-R*DGW%BY@914^)H0)GVYA?<#
MK^5CY&4V+4N>)Z.I5E>3\A6Q3Y7@2GKX"N'[/"!$BH@000U3E)!G\Z1L4@:/
MNB?FX4""32X=2Q9[TKA!F(J?/\^1^7E-^G).1<F:FG2;Y[4',;R2&,MR:T?7
M'$GQZ2,'Z>TS2+\V\5=(9"%[5U+"0C;!:"-8:O*A^-DJA=J$'J68SAI1YFH6
M12+F\"(WT@(^W%4*CR!0;6OADKRM?AX _:UVRL6(2RSQRT</& 6KL<LQM16;
MUU8LBJHM_G E)\YG+6]'@!(W"3P<C])EXS2S!O"/_^LOL>>YOU9?M7^27P?E
M"C>!=Y??>%F\N?I"=?E>+UZ9YO65-*LNIM.LO/J3<\N_:$=H/4)=&H/7IIQD
MY.#<,F6W\##69_\NA "^EL#TQD,8_(T>Z8P/AP_XN1Y/BGMQF'^,+"VL'6]G
M?V4EC-=3_./R^M+YV]75QWH@8 G W8#=R5V#AHWTC\O"S7&N[-A@*,.' ;[L
MP5$I^A;P73F<*@W&W]"6H+K5)>$:#[$-J@RL$84SDNE_3Q.<LWAPZB&ABR)T
M]3@[)S.%9SZ Y=;*WFID;XO)I^-DA*^",8#4P)I45,;"8<TJ9>6H#'D"IAV\
M8:0E0#_/'BP5N&-XDLV>7TX&!IM/AW C?@?_+LHLY!4(PG-FS*P'#_,MJ8#9
M-/ D7EIA\#@LYH4L'?')--./U(R*" T->0730L?"\<G 0<?]D:]8Y3B6]2><
MZUNM)PY<X\X]SQV@;?(%-1*WGM>IY\ 14[@OA?<MRI%*<CE,\VFV2E@:T\YU
MBP#/WE+;K?EM.ATJ%#'P1JQX@2C\:SHJPBQ6WY"]:P$%;@(M=JY&L%8,G4\:
M( 3D9.2\ =X".2_^OUI*K-3J$<K"L=CR8P.9\'FS453:?3GOPRVNT<=9%?U]
M5D6ZQ;+S;,X1F:/>LN>'/I47!$#I\L=/*YS?Q_I@#6[-N]"[.6%6@2NH ;Q(
M 68LX6? ,P$O33MW\-3;O!"M0@E^YYF\K:2*(N#4,H]Z5:$<S 7D5\%R,,'2
M^ OH5H"O_CK6TDI_^<X9 I='SA:EF%Y6\KW!UMI?H.@^ A74MN W)B<M*GU(
M8@?[$#O<P?#>?VCA/D.+#B4'U@WJC!04E<XF3N6_@IT+"IJ7PE%P 'EQ+#&)
M]N%%O(UO4<97LX+J[B5I!%V+JEGEM=V=D"N,4L++LQ2 3.D[-$J5S>@ 5,VM
MP6?7435%D\(!LWR"N(@K/IC?=V@HHN^A)\DDM:8\B7[-\7G3FYNAQJ\J/01L
MQ:^G:BH+@\'"*+=9>24NYYAO#<^ZY841 D^ W] @@K^Q^(<=QL"Y1ZOR!J06
MGIQK7:,W+@K6I 2S!)T8[/4]3.]5>H\6:#6S\M42_,E1:@WP&R 6SI5G?VJT
MC,$8!JJG8 P _M_R"1BR8!]-D^'$F8YA+<!U Q[S!00MA7<@67 D"Z.7.H/Q
M</4%,U^<:?DHZR'<6XNK&B4PJB0 6'-3) @&=W,'/9PAWF"M;TQ[**0?6*<N
M85U,\L;TP &S"Q0RI5J[*B+#-3#B_CT%O@$/*F[BS.W'208\GO^4#NS']]7*
M!U^$MTU0EW"JE8CC[\6;ZW>6<F-7W'H"8(K.*(J&/V[[%-P;#F?N),PS'5W<
M%DPJJ7OIO,'1ZVRP0MXV\1.8E]O1W0%U"AX5?J.51/O]6F/M?$82F^5IYTLZ
MA'L<X-D],LX*W3#18"( *>SZ+SE,/9F WW=_FX"I4;UIV' ]YQI)(*LP<P6G
M(>%:.77TF-"F+^Z!=Y4C+\:&HJ*_@J)D E4 'UI*<L7]YOM'H!AHQZ!1TY2)
M^S0;JGMP\%H(E7-PGR_17\1S:JA'5L>L^X;\SQ(-THQCR2<U?7+4$U[.%R<G
M2^C50,[T+I%(UN)IH, 5CA0#+1]>3M]ZB)5$I,;D,'7Q4+VH=/)EX;@7,E"
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
MGJ*Q=+DV)\6AXR6JQAW.5NN!J0>F'I@6@<G$KM:A*U481A00*99",<.%"=Q
M2;EO9L0:8#I4:JQ+.USGLP>;'FQZL%G*Q'>5YP;:&!%R*DG ?4DC0OT@#.&W
MMJ/^6P7"GM8;8W'OC?4XU./0.>&04EX0:$D9%12\,*;]B!@=DE!$$0_BD^+0
M\9)"O0Y'\'M@ZH&I!Z:EG4+EQ2KV-+I?5,9<<,:-<B4ED71CL6^I@Q-X8YY+
MSPQLSFJCD.*(CWBDT5Y)1@H6*%#(\5Z[B@6Y;*M.9Z0G3@ZB<_3VP_LC]R:2
M=@2_*RA4Z50,]6ZC?DJ8[%+QX6^#HL?=GXA]E\;2#PRETH0BEMSWA?&B0 :,
M;W%\\_B.=C2(P@Y7PM@27\XT5>[ L^O1M4?7;E'TJ.@:R8@(9B*)K8-4P(2(
M3!#Y1%&?^'J+9FI/<J:4>1U.0N[AMH?;'F[/EJ)'[=P6!FZLC XI#6F G=!#
MPR13<>1SE]+-R38'"HJX@_"<$F)Z!.T1M$?0LZ'H46OR&RYB:6@4RI#&KL>5
M-(3[PO4CH]QPB\J:)SC4&PV"+E?'Z^&UA]<>7L^6HL>$5R8('DCQE6$^=5T9
M,\-#(031(G*9V**\PI,<2@ZC,\ITZN&VA]L>;L^&HL=-.XVT'PK7C0./:FT3
M+&)B_, GOHBBS7![J'RL@1>=4<[Z!MDY3 *%_><'N,)!7)__8*F#W$A&4UZ2
M9_'*#S,*+'QD6?X9YOY/Q0A3BE'CARZ-(LJ%Q]Q8>$*H(.24ET6_X4:MKB9;
MWD1<$'J;6^'\)K*?BX&4O%HQ3*L4<LAS$)47GSZ^^<AO])LTG>"B7/*JXH#K
M8F/0\G$_E(0JGOT(S7*61:'B8X$4OSI6DQ])SZH+RXX$)<_F9]<<[+] N1/S
ML'LFROR*)]*AP@K<)6R 0 _Y2-:)*:OXMC\ER%Z4\"K1VEJR]A^AM]<(_6/P
MJL$8T!$]R7%D>9)/G-0 Z(ID.-3*R;34R1=$B/RRP!3GXS3+IWPT<2:I,[G5
M3@H =S&!]\&7[5J!-Z4W -M(F[M4Z>&@_NB./SBB_L;_P!O&69)FU;-DN:S
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
M]5WI!22(8N8%FAJ7\(!&$OY/!:[')0OV\/VVKRL57BX;8U5=J8K&GVU=PCL
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
M,K #^+$+S=^6"H6CO)Y@,9&/.L/S!N"?-S.!B-+$1+%6'I!>1P*PCX9Q$-$
M'%WAKCKO?W@<W)=LX66PC(/_>6G7GXDMXJJJBOX&D' D[4J3YK:(Q;"JLH(U
M1$8YK$E)4:G87L1,9# I]!H\PX.DFY:HJJ/ &_MZ_1+?#93(F]N=H8H\'DK*
MHY!3Z1H12\'CV.>*A5J'T5.M1SM45&[I]ET?1RDKZUAJ91IM': P+"6E!?$!
M")S5#18X%@S,2WL"&++P@56(N1N7;ABAT35_4UG)X&6*!A^N7?";W1I'"2B7
MPQ=%V03G^E;#+9?./[0#5$B=,7_ -4O;E6IW<^2/T11>6!DA+].[NV2"W'JC
M=:M.^H$.F9(4>Z%0$GLQYX;Z0OB4:J;"S4&F#FFGVZJ=:'%,+54P^+VE[;"%
MG5'RL=9.#N*6H\V,+T(>#N'+^/)\*G(TMQ-K&<&/HCQ3(2I%N8RJO-"W$ >C
M^\3!UCA*?2AL32CL&W/5=S#NK;I-Q;_ 1L+EDU<N:?EOK>K UES;'PJ5<4T]
MV7D@*Q908,=+<'KAU\EKD-0$C+4K*;&<6OY)2YU\*0[VUW"J(F.D])3K1Y3Z
M@1*>:US;P-9W%9.MA:!."J?>]G :MUB(B%>Z)(3#2TI@(9^2%(6]CEP;@DH
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
M/1HW4?0^G0X5]JSB0+(+51YTNG3>I$6_YHFMEG]75,LOVCG6%<NQ_1NUG:F
M(??X8SVJ7<$KJC>4[;H2G;\N.*G>9.G=R]EHE[NI% T=F[T[M=2A=ADGGJ&^
MXD+Z4@KJ CPI#X1V<W?A1X[HQ4/[ VP[R&OD!MZN1[F]_^.0C]H:/^Z;B10O
MU_:JJ^26,@H<K[5A^.!4(ZU2@+'9<=FD?$%#BB9DEJ>EIBG' #D*F>)#.1W6
M,C6GG96 V3=<EOG);Z89"LE=FFE4O?)J(=!YH5?8\WSBX+8OZDNFL;65!FDO
MFL+EV\KB4NN8DA#UPQ?WDAW\KYH0/! ;/-_,^J 59_(V],OZH381VKIDE99"
MV0SDQ:>/;SX";+S(-/_S"G[42YP< B'M.G9;.]R3=%RY<N65*JUKH4=DRQO>
MI,#YK'[\7&N2Y\WAM=]>9.;-C;"EP#,\*6_T?=O09]$I&BTZRYT6XR5O=:ZU
MFWU\P^ G7MG);/,\+*'K*8SARH7 2Q?<P 1^<?CPGC_D32?BM]NL^GJ96EG2
MSK: :V&33;(K&\0UJ.S<EE.Q!R.J>%'5*J8EE%1^].SG+:;U=\W52N[.IM)8
MIA??TL*Y1=HWDJ7V:N,WXVK)P+*B]XHN?E:^%MOPP3BY XH/6/F7M^]?O?YO
M[':M]-???N;/*R%H]/Z>U[P%/=R@DUMJS \ST^HQL9G-W82V;7OW3N>YUA\
MVCAB^3O-<YVC*;?89TPP6"VU9B:FG H:"<H]WP=_0)B8";^E+N7.?<:T'[F<
MQM*C-* Z9G%,70./]@WSJ(K\=7W&]LL8:@UR19=.08;]FMUMGL4>4]^YV=W^
MXVOM<[?I)O\X=OT_=-4:',T9V]9;6_,4KV:*C\ "OD\FM\[5]4OG<SH&\8ZI
M]XNS#$_S(/+L><7A?(N>EOO3LK7=VZ:;Z.EXW=IJ;=--P=%X;>T"[.6>%JPN
M6D#;\Y66_XUF\K ,@X^6@W4-UA9ZZ<6!-7#L>5*<6!O;!K13VTHZK?"M$B'\
M\KTN&M>/4L<D(Y"EV>>7SH=I+6YHY14^']AX2=4Y&!OI>NZOGQ Z+E)S >.Z
M@!5!3W+["?G5OJ/\EI4V9YAP@9V#P<JOO@-C3>%-+U,\Z)?#\^$W>WC6&I0O
M^-"*^/6MAN=6%G%C:';\N!:"Y5Z2# M%H)F$R8] IWOL8%\-OW95@<# -#"#
M2ZB#O]#5T(7]+-.;$7!&.7@,$+B<<3M)VSH6C>3<P>;(EANS=QY-AUI#&IMN
M.F!(8_.K]AA?=*3NZO-R7K/5;.N15_$)$%T,]CGWX#[]=;UG/F\[O"[>V$Q[
M<3T2*$T4]<%FB"2+XC@,B1]S)4WHZ\-U!5CK\7KQ\MYP.=O*\;73?N1LA<N5
M\1B/8Z,H"6+F*M]PKK7O2=<7N^Z$[SU;/UKMX \P3#7&UNA?]/"AZ.+=<)S1
M92YQZV6:V]!8#B^M,&M0??AZ!/Z+UAAD&L H<9_)/FJ<I6HJ)W )'I\6,%P*
M8O6(>0R]UL,ARBS>7$3$\*^%6YIP^C<] BX,B_;CZBX9)0A2196=N;NJ2-8*
M?+W&Y:-87F"2)6OA"Y?."D7*:R3-;X%6%PA\Y3<DD,H&^A!O;? CN0/^ 'E@
MH$NAN!RHI'-<[S8%"/8'IF@?8(H/W%5Y\_OV&"1;T55Y I+>ZM%<3\?C85G@
MX562RV&:3S/PV;*7/+]],TSO\]7]E0T--'%C/R0>-8PPY3'M!SP -TL2N4U)
MOTU^C]* CKYP/>DQ*D(I)+Q42BK#(&"1,B?IKYR,"D!![@$2%-*9.WF#<MA'
MOB1=O:+DE0JA!DF@)O:3O\_K@#18&DO&UX])HR773P?KO;Q9:O;Q.=UUC84W
M<VX/=A^U^?(6\]V'2N0Q5.K;+U>;BN?=?GG;O+!3MV0^[1YRUW+Y-G=I/EB*
M1)<;GW9&8%<W;3ZIG)Y%0]2^CW-7I+9O[=S+R@ZRTG=[[LXIS\>$$:U'ETXG
MA5-GLSB&S;VQ@_*W/]+TK6;K=YA(NX1[R[J?S6*?D70E>+<JCG1(PR@2$:>,
M&.&&(3&&'K#G[?IX;[ <[^U,+NW!3S[U4'(@C6C#B(X#PK'2YC=JNI0Q)QZ1
MC,2<<D.X"@WEA(8Z])51[%0[.\$69QS/4ZT73*UB>^&0V?-;A#'W"7[NG)SS
MV&'NE:)#_%UW3>R/SSJ[NQHIW#7!/)Q/?*)7[I5H$3$JM0=+8D2EB80O/<6H
M&U,/ED3"#[!7(GTW9H0&H%L*9F7B(*81XR(*?!: 5IYDKR2?WMWQ##[/'70T
MD'M\N+"#,MO^:&22V'W&^1UWNXGY2DN;W%U=]4^V*4+V2E$B=%V\?S./]F#L
MT^Z*[)4H18+'4.F[WA59$?@[:J3ZY,;HYN8)&T;4F8C//*3-YU17%DG7XD'?
M59CP;"1I:27LGN#T@<0=<GH7FDMD^HXGHUE>E4V@PGR0!\VS_"C'Y[_M4$ 7
M2^,^61"O_8C+O%.S4$3^4R60M;-#&CZ_BI7+-:%4QB[%%A&:NH%TJ0M>3A0$
M49M#8]V8A@M_D6OYBYIF*.'/GI/+8-FF[^-TO7)^$\IY/$WT=:"I(D'(0D(]
M$\<^4X8IY0<T9"YI.7[F$V^#)D;?CR:>QOAXA(7QJ(-#"T:&*F-5#@B;?AJ3
MHAOE=[[-!M*/WL9; )YF:/.CSM"=:;9TUY&**0M4K%TJJ!:A&_A$:S^*(V5T
M:TQS*=A/F\'^6:S_PML0[*>7M+O;>GN4XCJZ&/QGK^[?FKH?4;=-I(2*.7/]
MT*/"9]BV$S0[-KYV%6NKO%<:%;UN'YOG>RCRTV\?[G54E>Q\5O6QP]SKQ"J)
M-ACWK3N(Y8GGA]_Y!.L;/:P^9L6$EMJ$Q LU)=)E,G3]P(U9%+H1)X<X9N4S
M;J+0%SH.I=V09)Y2$=<>]2)/^^J(6X=WY?2K<EU8VHF/'O"4(HE^S1>/2#5/
MBN^P:5@<.^1YN5/Y9 >MR%XG#TF\;K=L,_/VX/C3[BD^:K[][N#2_LHA#D_U
M&X/]QF G#A7T,M=O(7Y36XB/L*!.<?:H[ZJRR+S#A.5.A/AGO&>R1SASK:M5
MI2X7^RD*.V2_23 H\?]PVZ.QM^D*H4(5"B$(9<IEVDC)(^ZYH?1#V5J7YV!9
MS)'7GU?XKJ'H^]T:/:9.2R^4GJ%N+/V DM#PF"J?>C$-(L7#L"5?H26@N:].
MLSCXCG2Z\SNJ^^9L@5 $G;&V^HV5[9G?%</CU52_ARE^OM?#+[HHS-)L/A(J
M8021!G"'NERS*&921HP;[1OA>L<U.TB'&\1URK;H%>]XBG<"+3."D=#WP*07
ME I.>!P+0941,?$UU\%1#8&(^-^:ECU9Y 7KYWLN'3B>'\./(/AIU=F8IS 4
MPLX8"H\A77=\I;8A+P1F8<1E4':NM4*7O*M#S>)<K1]TRC[?IW.Q%A=35A7S
MP2_S6,ACSC3U@R"(?<*E.JK1XW78YME?:[ME+O7PT\//D]B RUCCNHJ;0&J/
M1YQ*'K,P$![7/E721%++HYI^/=:<7XAHKD$W\2]IL%^3[L\IUH@&\I8YEUJ5
MV4SC4EP[8RSVSNWV\M(ANZH9Z*8L,%% PEB&5'B:NU%@?":,T& XT>VR\O<%
M.3*@X3?7NK97M;-3M2/H%:%>%(G0U9QK&I,X#@,2!9P+/Z:^$JN/V1U&KR+O
MK%O//V'DJ-5LZ50M )1&)\&.N+:-UD1CK^3.F 0[$_#)O+:->7J=W((_V*C/
MRGCYHV$,O_XJX:M+C:B#V)<>0$IL1$RU)UFDO<B+0R&-\+W '-62V::6X%/!
M[8X*V2VSIX>3'DX>::!M@1T2?)[(:&E\/Z)",L9BS5P6 'Q$U(_:2I(><I?O
M>\>.)S+MZ"&V^PX;]%DZM=9=NXX^:<B]';=4.L6#7,M#.[VQTZ6:\9TGUBX'
MTVM<;]I^DKDN0#7S24!UQ&,O"@SN"2J7AHRO+B]UH"B6R\X'PFGW]OR^+6@Y
MPQKR3S?EQVJ^B=V(N9$G?2HH-4Q0S LP2GO"XTJT'+XX:)PMI%MH_KFI^8(Y
M9O_9H_Y#.<_68^'U1]5AYQ>?/K[YR&_TBTSS/Z\R+ =44D."3939*=_6UM8D
M'5?+27FEFG8I5C\T9'/A#>^G>*9Q[A4M)RA!,I%&VPGVP+%7!DZNL\3,B7F\
MM.2-4**&U9?P\?4UD"C_MY_QO<^;=%I#J7H*8[AR(?#2!3<P@5\</KSG#WG3
MP/WM-JN^7FI\*3\NRDH+G:T4%9\V3Z@[M^54K#>P>):]Q3LH/WKV\Q;3^KOF
M,+)Z7G,GXQM3:8#.XEM:.+=(^\:V=9VSL(O-/N-JR< $C/=$EM>^\"SAH\;K
MK'Q-,C[*$4[P^DCC.+ESFR$$_>7M^U>O__O9\[<CI;_^]C-_7@G!W*&_!=HU
M%6F#4KU)T\E*FLYN_J%^TJ,,O,WE#@I&%L-=5PGE[4BF=_HS_SIK-=U6\L1W
M=1 P*OPX5#14'G.QVH-P_<!$QI#6R-^.)4^$%X6!HK#8Q(H&G,:4PCL\-V:!
M*P)^G&X)K:9R?.D49'$F_&OM'RZ6(JEIVUX48_-T]J#!SMT[]A]?:]^.33?Y
MQRE+,X<V*U)C@L!FQ52I,4?!I(;(S*\JNX'2/["VM,3E03DPKZ26-4?HD3;)
MQ+&U<+1CDBR?./^>\@RP!2OKV'HZ\.]?U]MTM5*__CK6HUR_*![;L.DH)]*+
MJ3 !<REG*E:&NS&6$%9:A&P;?=[2NLNM^76Q*1<K6CYC6Y<#<O@$Z%2#M#9&
MPS>^%"3#NIE(DA_7D^1U=5--&RRS]K*0<##J2C,X'35/)@@3"\J5&RH\G!B%
M+/05(SSR)19W;4M/6TNEI>IK%6FV+</FD<OE0.9__@2CN!OSK&CA,B]0NA"
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
M+TSC[1TN):"!%K32K)"W>6FQTF6UWY$<4&86(IT7 9#DK25@>]Y7JVD1,48
MQ*B"7=KLUMZ@O!_#M7#G+_9/KL"<Q%?:#2J+SQ72:M#Q]"Z1&$(KEK$<EV,,
MI(MIGHQ@A(.JFPM\-G!,M?#5\Z[O'-1S1TQHK'XC)-48J8S?@&=+9 12)Y'P
M?:0J!C7T$-Q17(^!7U-D "Q<N/C9CP!O,MMN)AFADN/VP QVIN,Q[D#<VGAT
MDF?3<3G:9&2&=A0<OF_I#4M(7A#I$R[M_.<__LS@MB*8_WNB%*PTKSG&MU.X
M%\#2/@6<R7]C!*J>]/P087;@(DWLD+B3@QLU,1BJ@C^U/>DR/W".,?:"5OA!
M38@'G'R)T?C8^9>4L:!"#-341J6^I#@]&'(+'P?PJ$1:E,HP;;,D<O&'JJ);
M-I&S,#"23#EC,,T>[%XQH"#(!_YM;\SX?6/RA4#GN%F*CP/ZX@IMWY<7VS#5
MDV&0@+U( S-%#5" T<-T#(O(/:*HFLHJ['7#LQ$P$RRN27H'OW"X:SPI]AR
M-S=ZI.T^;,Z'^!(,#S@*OIE;1VGX8+]ES^$6FRMX;5!O:G-9K@/UGI6=I9Y8
M8OUJQYR!F-GW66,.]!XNV#":I4T]_8)&J-_%7 ;UWHD= FCW;'?D7HL+8>EM
M4K!F 7R^($\X""R,VEIA.9@P]X5MI6KRX._U4W,]!+V%9]1\*50,AJS2^]$P
MY<K2?_:DV>-AK9IF^10Q#3?^,99P 3(Y!.7^@B=<I-WZYS>9MI)5[,<AQ7"Q
MM(RIYVUI6^D6$K:D6?&>VV1L3=>"F?/2A&#90$% .YYDBV*":RK8<16-+(+:
M#;TFX29:WA:&6RTH%K"X ]:4AF<#L1,KL+B!ACN?"#[_?WO?^IVVDN7[_?P5
M:G<RRYDEB &_DIS.6HYCG^/IG-AC^]SN>[_,*J0"U!$2K8<=YJ^_>^]ZJ 3"
M8!NPP#6KYP2#5(]=^UV_VD4#D/)38@&"/H"\H%; _D"[^4),:!F,[2_)5G<&
ME17[?E+A_;+-4RG K+98"C>\F@%,]O:08/>3^+YD-[3HS5B_(4M^<!B7\,K
MNXK!K""72R[B@G,#TI%IAK+?!P471""QM!+"LNCN< "8 2:QX+BN7,HR^K&(
M:3 4*K*-BC1QTW+8#4D+,@BFDGZAY]$?0"&5XJ8U%LSM!*Q'56_H2T,HXJ'(
MD64*H+-/D]P.;F."<\,I))S$'"P,_<K!&8C'G*=5K1>"A683IT#Z$)[,4I0>
MBA,C\@8H 9%^DH2&>  53Z%484JF$I8+4;#\Q(*HC>["L'^2!@:$ ?EFAA$V
MHX.",/@F&C5MDQTFT#,R?)V\4,XD_-042=R[":C!3]K:^>H56/U4FC .?Z,6
M51;&YT.YA5]>7#"NF@P8D$!XV^?4-47@HQBD82ST'#KZTI+CR!)P%(@>%"LQ
MD*3>]-)#/QG&.JA/0]3LZ#;"ET#8#+QDT,[4H4 =]<(<'Y $)W:=,-P1YY@B
MD8X9.DR16F;:NX)8UU"(GY3/(-YVI=51+D)0;/GC9,02D3:6$@ F:(A,GL7>
M#WI7K"U9"^4T&]$XM2[2*"(#= 6<ZURX#F5&6R>N<XUOGHLWQ6C$(^J9(W>5
MJ1G7D;I3FK,EJM"=SR=1A$L[G>7Z>PF1(G-<T]<?[N(3,A:G+_3[*MOEK$OS
M"Z] ,GR7 \> R@J1[2BB"8;DCM*_>D=RXDI(P2=$"U!<]++6]$66BI;J3(D
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
M97*7BIBU0!X8^V/H*&6(.Q'P$@=EC ;ABE.@?48)4A2E(/+U5CYM4()(@?>
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
M+-J9K=VNI]QL<A(%Q<'WD"X$<$%W7)@J<@I-*U#\DG<Q!AH9)AJ_SL8CS/C
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
M.F41V:)E D[*ZI-.FGL>EIP5V$[Q,!''BX?#($VQ$*OK9 F[XZ&!VYQ9P94
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
M"O(GF:Z9>/;EXO;K2=&(F"W>EIUJCU*,1C\BW#)A+.6^A:(:>CWD[U0U@)D
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
M-@  %0   &5F,C P,C<P.#)?97@S,2TR+FAT;>U;;6_;.!+^?L#]!YZ+W;2
MG>C])4D#I'G9#=!->HD7N/M(D2.;5UGTDE(2[Z^_(26_Q'$W;IML[:(%VHH2
M.1R.YIEYAI0/A]6H./KG/P@Y' +E]@JO*U$5</3S*S=R#@[WFE;[Z%^]'GDO
M&)0:.*GD/GFG).5*\ &0<U'2D@E:D!M9U)60I>Z2BY+M-F/MGU/)ZA&4%6$*
M:(4R:BW*P:*4#]=7N2B >,&NO^ONAIX7+(P_D>.)$H-A1=PT#4F/>(X7+ [O
M]9KU[+4+.LPDGQ!=30IXV\EE6?5R.A+%9)_L],4(-+F$.W(M1[3<Z1)[ITLT
M*)$?$-M;BS]AG[C.N#KH-)*YN"6"O^WTKW^YOH&!6<T^I"SA89CUHC!W>T'
M>2]-*.O%D9^%&<W3B :=J0V-@%:A"NZK'BW$H-PG=EGMK%^DHS?3T4XS5*24
M>D@YSM->=(B=ZVT'7V %JC-58PAF[GT2C.\/").%5/ODE6/_')",LH\#)>N2
M]Y8?+:K?B#P@(ZH&HNP5D*- 6E=R=DLUDS3W,JDXH*Q2EM Y.MQ#H[RT?<P[
M;&[<M>O-9,'19&?W0Y&)BOCNKK>LR=%AIJ;--92<6N$%M#RLCT[.KOL7YQ<G
MQ_V+JTMR=4Y.?KTX.R?G%Y?'ER<7Q^_Q%CX]NR8??K^^^?WXLD_Z5^3F[,1V
M]QW/#.G_>G:X5Z]E\9==S,WQ];OCR[.;WM5_WI_]EQR?](UZGN-XJ_3[B_?P
M98]6+=@X[=<NMW-TT24W%=Q"28YWR2G\1E4E2ME%<^)%/B'5D%;[ZVI:T0R#
M(8.BT&/*,%:^[3@=VQY3SJ=M$X_^C/S0AXC2)$[2@/HT<>(D\2"-4@=R)_!Q
M6$&U?MLYO?EP_E[HJF]D=YXG.)([P:NA:3@_/0P,C5&70L<\3LV#^V&ECA9"
M/;;Y5+>I\,0:&',27Z<GN3469[28JE+)\=>_7G=WC?F;(+=R_D7;_*_6QB46
MS-$*7'#0KW9',J2W0!3<"K@S67LH-/FC1J\$54SP_EBJBLB2G$LUPD&]?Q.9
MD[ZBI3YF%>D#&Y;X\@8"Y\5L+A7V-ZG[8-%/6[4?&@:;:ND]XRWC=,_K^) Y
M$<^B+$IY%B2>GT3XEP*F9.KF093]</QG<7QORQS_'34D%1U[-"$?2WE7 !+$
M;N/_K==SB3)+B7041U-1$EI.2%U6J@;4 KW<<E6$ T42@W@QY#:GB JIB!PA
M9:ADT^]1AQ(8:$W5Q'09T8^ \R[(U'B/HS*B?+A^0@K+;G%*TY\)A7P91Y4H
M#15#RD3NAH(-B:[-/W-Q=Z"@E6G6,Q*Z0 )LN/6=J(:X7CT&9O4U<L>HJ>2X
M:GQ1:*-LLFB5S0&VZV8Y3Q,_R:,LB#CB._3BP&&QS_*89ND/8#\+L/WO!=A
M\ED-.L=&%U&-W?&Q6G@NRASS'35E*EZSHN8H$R/  A"Z"&5A<N08X6,"@0D0
M13%'>HLJ_7#J941C;.'"S-,U ^H"^R.\)6+0SJZM>HSJ(<D+>:>GV%<P0(_&
M-%P1:FXVRT"ENPL0UE/='BF_.2C..8^=E#JQX[& AB'%JMB+:$:CR(_3,/R!
MXF=!<;!E*.X_\/&?7R6>&Q_H%J=MK63RE\QS@4WK_1>$*K"P0]P(XX&(!P+:
M>*/00]/==!MA*C?IW+2YT*R0NL9Q)LDK632 &RO)@.-M35XCOC@@?AL0G=VS
M(2T'0 S]O:X+T,N(=GW:<\/7\,9*<D/>M)JF,$5SB=&AG8Z8)+L0>!IX&M6>
MG'<Z4?Y@HAPG,LM>#A+8PS#]_8T!/O42)"3(PG.:!!F#Q'==S^,0L\RE0?0=
M%*1AL ' ?TW?;!?R3T'C7.CTEL0^#="NH=N,UGK](8;H9H#H:F=JJ+.L%0K
MS'DKM,W'V M**\=LRLP2^S+>%[F"@H):]+94>H[ ;LLCS$.!21Y5T[(0W.YS
MZSK3@@NJA%F/:/B_92^ED51K0\)M[-.6L=MD+C6@?A62!S-H;#:26%U00TEP
ME5:).9G'$4UIL%C@X%4&IB/2!!R_256[$T'N^TZ,Y" /P@@#1.K$(7.9'_M1
MX+L_HL/S1(=LJZ/#VMGT49!8/P^O'2LPOMP*#LOA00'5LK2>CPY;*U.MF[A
M%9]B%*.&H)DH1#4Q_'Z5%B: 63A;I#;!YD'7A6K?LI[[=GWC6HTQ4FA;GC F
M%;<*V+I_ "66&04&#'P"8Q.)3)>ZK)J@@!%+C)%I;$Y82 (WS(%[818:CI#0
M($VRA(4Q0)@$_#NH^3<C++ M"PMGM[2H;2HU(($\Q\);W*)[ZQ45\ZR:6(,I
M-,W51;2- C@0T[IN2O5,UM4G-5@.#.M0&SI3'\PN1?[T_AS)IOL?-LY!8QA4
M[\ (WQ@@1^!';AKFH>=G01K3C&/Q[R9Y@)#VH_@'D)\)R'S+@'S:@.(QULS>
M>UL!VR<K ?T96=TP>LE8K0R$%OCR"JDCJ2N\;PZ\499&$TU/R,CK%;B>2]@Q
MN;A6F&F7AK4K8 A5>WY@CA;*>J;@FT:](=6SHL/D:!M3@%LN8PW3$HL)*<1'
M*-K#A*7^W:^VU68%CI@&U.><LS!+@I@[6<QBK!6P':1>E-#M#QP;L5\8;O5^
MX<Z3.X7VU)M/@TUWGC5-3E\$_#R!&J1^1L'Q: =@Y]%.(:VYJ*32,W9O;Z#L
MT4A4%<!CZH(+RR16#N8)%ZBB'?X: P*2 FTX"/YOMB.FX0S^J 6NP(:NNF3V
M2.'-!FT"9D'N1U&04Z3OC/J9'](\0C+@I0GS6;+]:-X,&K!MFX#'!5:T.)M
MS)KM:[,1S@0@R%I./CMENP/ZT9#LIL(U+M^4ZO80?GJ*]EG0;3?*FK.$%2F6
M<ARHL?$(SC;A/D;LM+3'L8A8K,"[#<?7Q@+U:$05+MVNJN4Z*\\A-RL-N[E+
M$;J!&[E^ $F<.FGJA4Z>IUD>>,YWD(8W [C;MC]WC#0]5YC'N@@CL#E8JN:C
MDQ:QW8;<BO)6%K=@&&Y)!^VG-*I-VS :%W("^/1N*)M<31_$ \3OBCI@YTE6
M^YBKMZ#??5EDO>@GI:=HV7WR&YT0-^C:;]Y?X/M11B,W=#!).UX64,[2)(3(
MB7.:)2P/P'L1:#??@9LORPLZUMAG>O5BJ/?3W>2G3V"IU2:3525'LXF(-[XG
M]BCG+X'U_*]]3^^M^I3X24=>M>S(V?4^L>S._+<>GX3#,UD6K[^]6;\/D_Z]
M-ON@D'-Q,*><)T,!^<*O?:Z:L@ME&#)5J[8"NP&FH*)J\BUL^P71^V\.[%__
M:QWOV_]:9WIUN&=^9F4OVI^4_1]02P,$%     @ /8FN6.#6B-2"!0  K!L
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
M_3JV<C&C'!-UO0H4:[?$/ZA= >#_$+%<VB1)Y\:2;7;Q%_^_9DUSPXP\6Z(
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
MN6?8P#))KVFQ*J.QF+BL@:N\*BW/@B?MN$L[L? ZYT&.U ->7#4R_QP]KCU
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
MLGJD;K,K&V=E(YS<S+*OF<";OY+>BC[5TQ G\.6<%PON8LF'Z5V>KX,8KJ(
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
MQXPH?1F8[>0;X"MH.WXBB^XYPOUA!% N50_W3,AR[83I:H2*A_D',M*?&%2
M^,3E@3S2VRR<3)TF06FBC:]#!.[+Z@-0.KJ?M.W7\26?UQ\.=]MRP9Z3$)"3
M(KQ3^4)[%-9!$]UEM&N/AVI<[\!<'6OWG8V)BNF:4'&C"SYE]4S/SCX0$>4N
MK) $SH&%-#;BHXS%KT=>$F*#9DN4J8R1@=5G!>7TJ5<'!#RU^"#MOZ"W.^A@
MF^DY4DQ8.#6GUD\%ZDH!O=_>O]RIJKCH":#>/L/+U)YX9T,=,[7.&+[O5VX5
MS!9@K5X5=W&JA'X\)FDF$;.JHE9&+K9COV_R?64O.5J9[%W\BI[>4.3V)7,Z
M>&GL)Z%CCREA>_)#<V9&83AARAHUM/N?8=UCF6%BI?+I1WOE;X 6:*75<_Z(
M)TR?+&ZI3<B;?M=#MC*3<AEM=1C<[TS9WJ=EX[*<.9PM'ATU1M=<VE%CEMJZ
M,A,FT0J!1,4[_/ #$)]6(>^%^X2!SU[<QB!N/6#BYL^FYLPE G+=$8=?V-JQ
M,J-EWP28!&4RF&]\RKWV0>I[JUM_ ?GTR=.!IK<]K V".M=F0LLR3Y4^FS-_
MGGR6;3%5K"MD8/)A.:[T8N34%Q)2_]52E&S1':/I-,WFXP+A7LC;)R;?E'(/
MQKGEY./B4H%W%EIXHW=R*G:XG1_5LRNA370[^D)"TK[7Z9*#G!]GNGE,C%8H
MIG6,^;WCA!K'6U+L*FT[TNS[D71FJ=_ZJ2M%^1>Q 7GNP=&NJUH;2/AR&V%
M=UL5U8Y)#):>C%)P:%C:K+*<=^CYHIP_C;]\:S"YEL,U*DZ?YRS*"\$D 6M$
MJ9T8>9XYFJ,T[ZK=C?6=9X*\:[\]5YA:.4XPGVO'K&#/X?EK\\<(X'?CVT_M
M$-0W#A'I6#A+,)")5\MZF?>5-9-OK\9?<D.K.'WK*=PK91O1-73]>FHT(VGY
MB/[71IA5BHI67Y"R*@34L(T4)!PE(UU"=UH:Z3:[OX"N<F9_6;:X:2<\;9()
MT%AQ82XKAIIXK]U!42.I:,??H^CS/=E]FNBC]1J;'PD'$HK%70KAP*'"X#/@
MN8?:*Y\=CYG!2_'*=ZBQYG>E@'LDY=\YJNB"X]+0.@@KS7/E)T2UVUL-7"JB
M;KSI"&VSDPW79S3I#C&=SB]!2%F[[9VJ%7%@?NG5ZLN6.QP6YGYA YFP#@T\
MGE7$!-GB_5*I.J-[-)D(EA0\VT-R[JX+H2(6Z&3_G]>'W8Y8S]57&E;2H-G$
MX/CW:6 ![=7%4BB/,>87>\.N2PXP'15HE=$2;P-:V#<2&'/;/=^2)C\/,RHQ
MBTZNZ(C9FU(YM_5%WT:\OQX+:RCM&(P,)[?_KJ8  _Y46#:_U7,JS/L?6"U*
MKQT$3>(^3=@-MA@5;]Z(1HEY_W-)9Q#>YC:74,D<M4QB;$3Z6\'YDTHU:)$5
M6SYYD(^;_'0#\W8FW"2)KB$V Y=QV^>S@K8,BI:A+?-+ H-+WLQYSL+9!V?[
ME1\'<A_S5FITH"$?>HVT"3WJ$L1=^ 6MLUJR^&CBR?,#CLD8_?>"&"6#BON(
M?F8P-_[9942W"%@,O'MIV1R41OFN<4:%-ZBX5DA3CJMWPMWURWTZ4=8+TTC[
MT^R.[,R1]KDTH(_97JE&*M9WQH#61;< R3?9CC8"T8Y>GKIOO'L66XKF=5JZ
MXAS=%9DZ3Z9*/5D&CU@Z?C![?X0+)#KA>_%Q@ E2NABMVGNDJ]9TM3;*..YI
M$#5#9+GW3]ZK1; 0\?;SRB!7<"OOZXY8,#/Q]I153YW!:(US_?D(SZ549]JV
MYF24G:%[NA\)&CKK5=H;$2/UD&X#$)+@51[Q&LE7$?7C+1.$['_8]%7W/5Q5
MR9F/XAGE$O*:QW=OZ"@%UWGU98B,WMTC^4H4-=;K1D-!;7LBE:M.9E&XH@^E
M4H@CAP]%:FO(V#_\'&[0G0VQ>\ 5T5^:41]?E$EE<:-GTMI+# Z\X/<KOD\Y
M0;:.3.SV^\H?AH+>A4<F*M!?+FZ;AM%>@JTQW?RE7</)SU<3WHDV7??-.])6
MQSNON?NV,[#5RWIW,@VR['?17@M[!IT:7+MZ6+T5:J)NRI<8FC(@91^9/ 8)
M&0<]+5/CZ+O]!9!T(PI"%CXTMV?.7 ?$N'$:5]7>.^YGO\77T'>;6U(LT@6L
M>-4F.R3$().;^C_'Y5[^H2G^;3":H3<.XW4?TDHC#_<),90/Z,MANQ,3<+A+
MN5VU $R"DDT/5P#:8\+&QC*6F;,P^7(C+RR 4<SX$#W#S19-%W"BZ)?O></3
MMTA($,5Y>2.O64<:>:/R0X*:N0 !_&G\U+E@*VMS4,KK^+9OHCVD3K**T(59
M 8=7OXK'*_6P\7T:N\!E\!SX"E%/;6AM^8&T!8[]L=^1'\;PGHN379Y(B!S/
MY==O0<KC?O(J)\A%9V008\?\6[XS]567 $[).F^5SA'\?S-5]!B/$1>I+#L;
M>73C]O]PZ[\\"H-FWEV&^A%D"LD@1>?6LH6RUP]<)_5UJCM80H8)!?$2BI([
M5VWN+*KE6)6[D<.C#3TMGW^R*U'Z/4RGO* _8+-A^K7N\JW,\ZP5A.UQ(+R4
MK /G3+OI(R'3I=;UJ6;"C_.Z>,QZ\7S=<V1SNP?@'YG;(9.Z2_LT45>WC'M_
MHFO2G!'3ZW<[?*VC M3T]M'R_8<;"%W6*$IR";GH@QRV0X^BA^L;!@?'$>_V
MQ:T]T+1\RS[AJLDT=CQF;_'T\W%CB0K!U)DR'X7I7H>>S.W .;#9"CGL"5(_
M:HDIV\LDHMV2X4/9_"U-<XS^08.MU[;O.[6B<V)B=++>G_]!26C1MJ3RULUM
MB[)MB6YBI,,<0D-8LA/+K>(E%5GD$]J/1WD^RG)^S&OY.I3LHC'BHG?3>=+P
MAQRV5'O6N\LTPJ!-P&0-9N/319)!G$_JC 2BM7,J$Z& [88@<X10S6)-^#Y-
M&1!>0]:>5?+:<FAPY+P=.&=6CO&ZONR12.\]"RQ!IL'+HCP89__T]OTQ KM@
M3!HTJTROUQ92$JEDP?,;9A0EAG.KZJ';QKX[%"RQ^#"QQIL=DX>[(7@#:O@*
ME\F+@MA.W%[:%#6P._7),,)7VQBARZ0\[7":.%I=^(FS6PWE93UFG2H]7SZS
M3\,B5)'C L[/O#75CZ'BZ#&BY)CD)MH[;F:[V?TN-#>R21)!L[>:TEG1?7-W
M&MB?M2[-5Z7N9Q^IFG^9W<=0'WDIN>($-R#H"GIPGP9EH3K+)VMN,UAGW6&U
MZHA76J3;TFT4KE=]M0T*#3=6,.?L&* &P7:;@VK[S__LI7A:2YT4P5O8+K ,
M%5CITS0V*Y:3J*^S7PR/-Y\.A+E(LW:(:89C*UE:$G#6*6D)29%VO@63FJR^
MP]WX9Y][GCJ+WC'7%S<[O+NF*Z_/'&G+=^D#G,N3TW'[>B"HPX)AZ2C\X==%
M"\7%H350P8YLWQV]++D:;%IX$#Y]]M&#+*@1:XN9C\9H1AI8YC]&^P,_A4#/
M 9R^9TK>XY7:T;7BF:XJDR[NQDE3F3TAS=7<E!Z+"O+#R<N#FK\J/S3P=-50
M8T5/8NUE$IJJ\>(Q@-' 6S]=GC1%!)^K994*VQ,!;?$';HJT'9$#3K].]Q-&
M!_^$T?3JV.\!25TOY"WQI_QV@=_O3:A :)NVD67# <GCV#3^317H6PE;'AU!
M\!H/)KSK2+,M+R_K>Q?8HJ9!.\US_@!7V5U;+A?=2MR\Z+R]P\_*#[7&UQXW
MDD'YH!2OXPHEZ1M(%60JDI@Z)7S@*&WZI542D-.\E&6PGKO0.KU:>^5#06!I
M559Q5++\(^MGCF9'N+!75Q^"BG9N=NT]'G+XFA,>6K&-1>H43,G7E.WBO'C%
M3HN"&\>13+2E=S5 IR807"/J:=<=1N5E'E];)]T61;L^%EQ7TZ;S$.XW"_.J
MP!7KJ3A+>7A0'[?Z/X4L>H0??F'0]6OR0RIV7:O??K8I0^7SBA*^<-9<A<+I
MPKG:[Q4R>X*+#<6Y5Z_,/98<OU>6Y7@XCA'8;\:C57E]EKB9^ **[0"?#OG>
M#8KLG4AE#6SK^8R!;+'<"OE::H2Q7Q/56FC$Z$^_3T)P04&!7GO8)U^DE\'[
M-,Z?,B[5NN)4<OK:@%SB1:V%F=\\/?)/]SQQN9C+R !UVY ?#+NG-O2< <KT
M0H*AY)(-PFM@>Q-Y9T6HF2_"=;1*U$$92;_0[O-J*50W+[=',E>R,\T>7NO:
M]PLP!,^]'%+7)6MKFZ1>0FU?24K&"]JA'_1K#P 4*=-XO\H;,ZB'M]^&2'@V
MN?KFFL67)L-S$ $?ZP+I$:Q>O:.9:E??R7PYG'L*!KLS(A@%&2SM:$AK\@0P
MB>_3E(^&AZ^!-Q_1#BS&BX:#8G=$RE=GZ%6@I^<L%!Z,JE7>@J;_WSH;'&;^
M@@10(FR:WN#[4"'ESG52W76=!SK?8#B"5["D5C?UPK F$Z2W^ZFI]W$0RG9@
M]M4(ZU!O86V7O* EW9"2QH)[T7/H58.5?9K@.U//T[(AJA&9IRYE71?5S+!K
M&#IO.GL[P-R(S\-=/RBZ3$_%ZI>6DFPX )O9N7V:"*BOER=:CQJUF)IK1.J;
M1)I\:-\>6>/PU+ /C]4A6-SBCCIC%LB4*%$Z'NFCR=17DK2$J_!AP80^VL)*
M\HW;Z'#B%-__I]I!Y=D^#4_G/DV-H.D*D]6_:4!U,";E':@?BUA'IDDX4?9I
M8@D6M[VZ]Q0XYRP4[?</<E^^/I0\\PR.+'@$?47"%<YD2IJHGM*VETX5*.P+
MO(5PM+ZK4Z$T=X2@E_9)AWHQYD!X!4:;H3U=\6!WEM\76%E\;J)^YR4520LV
MOZ6Q_!X3WO]BV_]#-;<O\5&A7I'V>F%(D]9/5II&29;J^_AETT$-+;,WZ(2P
MIB//[O"%F;DTPFB/1Y-8$5TUN#*9@+W%LV,$%5[?;VY'9MB"GH7E5B\"F#!;
M-[#Y:F3:KMKZB>4=B!#$Q]_9%]C0Y*-6&M+ORZIGCE'_O=W5>_:R;C2_.'9.
M^^2"&C_3>;9))>;%0]870$A&X]IE3-\$SC*RM_/6H!H/K^67ST-R3)#DU;+$
MDQ_G]LIZY;'5NH;>I1UVN.1 F!I7-W[.C%WA;LQ+&.]#/@O$S4F8BN4,7]\'
M9)'V[!*T\L64$+VEQ)Q"X?<] !>:&_)B#LS@_WHC;^?BP;1-_^MTO?= Z^*K
MDGP"H.GY6S?LHSD=P:4&QQ:B\&OL2U_0!7+QU0IY@^<V]9=32;!<&/E#29DN
M)QNPA*N+9!H1(0.LYDIB< 1FK,29D6QU4:YM,L68+_<<ZT-+1JN(PB.R_$O0
M15A0:=ANI[E:DY?GP/KB@Y$/Z"++7?CDCCO3.VN_>'R7W^8(_W9N>ZE/XC4!
MUCVR^.XM#8LJ<EXB EJ6&I*D\/7RU)K>MQLJZMXY(@@(R^'6I(6J*, HV[I-
MH&/C[$H.%-3J7#<02P#/C0,_KJB^6P2KWI!2N,9;JG 51JL!_*YP^N\4)Y&(
MW7GQ9 O46FE!&#H@H#-_$-!]&H 0":EVJ/I+."\7W;E ]9[RI9NKG#TG9L0#
MEPV2EKKX"Z"A,=_)<W.MDBKBLVK?7-7+UGDPO*S?>*=:!=CM0\^&J/N[FJ6>
M1ME*\ <OB9DPO8E7C!$-N1>^_J78_(YO=TYX47M^65BZ0I;//@V#'0@P7MA>
M-LC?Y@S\@#QLWU5"N#5B3ETR;WXF-#%[$UOZ7;^Q42Q.:2=XC&"N90-;K..-
MHJ34]V 94QQ&&@A'O;R0$;& 3WH8<JM"C0'K0ZR/CE79%<>XZ'V:8E:ID0QA
MTLN/B!5XUS"9&DW4]JY8!'GV4O,8>J6#I@#O06U&E(&E[M\%<<-R@XH&Y460
M?7 )-;V84XSKPT$!\A2</O99[([1MW1<#8"CPLEL=WXZ<8DZ&<9.XG \6>ME
MW63;/8Y%3>7(!I8UP[["NB5Y2*]?KZ<F9C!6L3S^R5)2%R1S5)XQZ1E^"^1I
MKO2R140M2F,).%.X8U.M.4%=JR6_MI&X?4/ ]CTCL!GB7%7Y_%RYEWOS6XS>
M$PP1U#6(*&BWNZIFO^HM?MM=5<YKY 'K3':XS:E/\-$3G0TG!A)0BN+,Q31%
MSXY_>5BJ'.EB%A\WY6''9D4-C+?^23VDCI E. W.!PHY'G/->^9XG5OBU8EV
M%!30Q-G%H;Y& -_$7]>E)ODF SQ^ESPMHXD:&#9V^4[1*1<".&B]I-'A4TKE
MBT7/>?LF%SCY$^O)$SR]DP"FHGT:;\X8,.;TX'M0(BQ^)'*>K@G9ZIW8!/6=
MBY8#Y< G=ER<IH=D,+=,[E$Z$49NU"G!OT^C_FC6[NT,V^,Y.@MU)L1MQ5UH
MW&A(HD+SC9WR/HH@WCK]S SJ^2I30KF\L%1B8>-<376)X.P0XRY^_A1ODG34
MML3CTK+"H(3F:X )MDPP4.%5 XP_2^2O:Z 8@&.=!AX)C 16\AVNQ>.>M9R5
MIBUWT,2KN@-JO)X,+?><CT+<85J>NRJ3#']^I%YB6;^31P*4+Q]Y3*A@$\NO
M,%_^Y4)?\(M@,TK 'HD]9"F(?Q[J^6*!GID7?YYMUBATXKM1F%;0BT4S][4U
MSYA%@XB,@T?_"Y_YL^\$9.1#*CKQ? M"PZHDE,4NYRW/$YOT8_7& \WSZW)F
M_%U'-]4T[.=FD9_8O%59Z?(U<.KVJOD=!K,9[__Q;X(!1-">TCX-!YEN91DV
MMGIZQR'SU(XRO=IG[S<\VMR,5"9I,)3M>U127F;IHD3U>$S:F492T=GM\OIQ
M_TWV]"W8=!/2)<50\;*OW'_P#C:VIX#_6:@_SM/R+QJ3_MPV;Z'\AG,*\[_C
M7%T0,;HUTQ<XDV*^3]/4K(N >/&VHQV-CH1W/8[CZ7DUCD4RM M"(YOM3F1*
M9_'!.GZ<BX4E]/MG,2% !H$&0X"QP&7SW@I9VR7?8RN3EAH ZBH*ICB[9D5E
M>TJLE2M>A9;ML?[CP_Z%/(*80EF47FTVHGGW^.A]"=>H24 A+O:@Q<A6G\YR
M(MMRYT_^:#39W=*JFGL\5>>8AYIE_-)%+H-Q0"UK@U>K+,M:H(FQZ3F&=AN*
M/_HC-H]O&*"QNAPR/"2 O*=;I1@_CE/D'6BL=WL#.V"1/YVN^ARF_(=%_.R]
MS[-V*-K[2A[U^ES,UQSC&+ 7/PS'[YA7ET=O&_< ZEQ!X+FUI9RDZY-;O1?1
MMO8A4A^C(#_:6V'DO*?>+-?B?WCG=6=K,#Y&JW26/#@K:OG6.@- B"7HBW[.
M2WR72##I->4P@*1.K)!WS=WGE;.]A1NK7:<0D(XY"Z77QN^6[E&HS+^(X;]H
M8_4^S3G)$1[EQ0?'7'FD8[]W9"GV_FS"<G^MKFQHV8Q@R!F@6Y?TXY/E7J_(
M:OFZ(:C&RRBEO[%5(_/PN]/#_;FQ@;!95:WSSX$=M4>>U:@/<1/:#9>DD2"*
M+^U2'*Y*5%BY^*7"\V.[#;[ (V@1[XH(S I\]N(^C7&]1FL??HR:"BW!5P5V
M;'RP-3Z="+52XVAHKPC0IJG3&U*6RTT *%UW&'Z_V_VMH)Q%25+ _)%=8"P\
M=IENSN)DLD8 \<:NPZ B5VM5LQCX.B&$=A0%FDAI=F(6 WM<5R38>)S?QE0Q
MQI4%OL]&LI+^+GLP6ORL"IRSD!SQ1_HC?/E^VR)&)EVOQT^$H" F#&WTCSC"
MNU_D1 H,H*$N\B%5@;$P'\L9M%BN^.P0 _RIED_^6L#=2MN<KU>M6(M'! XS
MJS+:65DDBO=)LV977A6X$=\<$)>7Z20X8=;1\QX/@ZELEIKT1@;W3.4O*9U"
MWOGP,+5W_L(DZ*6/=,_>CPFQ'FR-Z==ILTP(;$64N:S]<7ALJ *KG@GG3X+)
MN]NXGIWE7^47=VBMO>D)E4]^3X-,1(.\B2Q[RL(DB08JRZBR"."YRH>S>MN2
M<ZA523HG%8@28G1\R5,VJ[:L(C6:<G)W_'=>29Z(;J;R2G]SVD:6%.!*\5Z=
M([*Y_7E: W5V%'VG:^^KG^04[BH3#/X@EGMW/:>2I7^SOIEK5&F[MZU9FJW+
MZ\>S6B=R85+X.!U9I%T9W21TMP0M52<P@$M:!L<Q2K+G/QO[5A-%T#LR^GK/
M(4@Q^&-QV9,N2"II7*"R*7D#J8R\3G&YCBN$DS@V:]6:H>M^-/^3['GH33%E
MP%?E$?=YK:D-<O'+V,-PC\- KYV\EUN&/?_, G_S"DX>E5G/-?8K=-F /AY8
MU :62%EY(9L<DNT9WV-3T&N''?*(J)E!"2DJL$172".=& !N1(+&JN7GZ3B&
MU??D]#T]^#4E;[? W70SW3O\P-2)<:!"18FB'"@C(! V)7_.J53S-;[<O7]&
M @^*GX2(@VKDV-HH\+'6LMBHB>*H<FM[XG)I[-S]+H\8][,AK:;#BMH[M9Y%
M16OP.1\SID1O 7*QH:3#4,:Z?$&A_M=IV22-V&_U$;L,((-XM"3?ZA*(8'#?
M5EO*VI=[O!#O;I\I\[FXN;9](F[42@$*R@&%ZIFJE=X=E?I+,X;?1J1EQ57%
ME[4...V-V0%7,-K#Q>'B!O(0)<BE!F1.+DZ^41L._,0;I(<J-;@T4<#.]-T@
M-@!.OE 4=<EQ 3;EC:BG^PS>N$%+-&:-JK7^-!9BZC\XS1 ^WL?^SO1J#Z\'
M-"%<<BXZRKZCH$]OT[@E]641]A59P?V7UD[_F\$VL4_#YD\%&B+2&<E$*=RG
MN?@7YL;_51RE(\ Z#@<G8SN4+9L2\+K9CA2^J#.W%="//N ERL=3#UA<=8G2
M*5GGH<SY4TY_USQI_KWFJ=NLMLM<%[_67*R$>W*1C$ROM?F-QJ62_'_2.'#J
MR50_X//77--QX<E=^S3'3G6AO'C,7UV*7A78S0_,1]!OT2\;F/D7'QG-Q$@(
MY>[X1"%<010=F%G:+1\I]@/E$XY3Y/;_2>&0*?E$L9'<E0,?[JE?DD$T\=R.
MM]3/"K"?;NPJ'_5W.WQM/ +[--&-O@Z\7,:8WRQ0WP >J"TE.GG3H?!E74<5
M,92" ^*IZX='J]WIV^/W(/JW]JJ,)<"!/XF;5[DIB7UO? N4Z'5D3Z$/I:*(
MVP5^:=I1*PD!STYHJK#]<+]P4%,=5_:['<,AEFBSX_U]O?@#%H@KV0L1[JI,
M)R:3J PR0@NW1V6-^)E66_MAB^][)/UF%=]CQ]+QNL^MMLN:M]?7Y1^_'?.K
M.1_]D5&0?3/>KUQ&QC3XT#:15"1(!=#'%#<F>#P!_QYYF>*EY!5/",SV8D?B
M>*8!X]3;KXYH^,OW0K..5*($Y1WK>A(F/X[U&W/;!:+]>$=%O'G;N?IZ>+TS
M!;O*="\_-K56),FF);+16UY.@R34P> ?Y64^E6S@Z;4OIWG!O>14)#;9=)7%
M2:<>U3@#AWP./0N3D%X$"^44$WIY2,M[QRN'<AGE0._"4D/\N,T7,K8S"NTU
M:P;V:48D'"^B53RJ@_;BI_GLN%>I.(T,?SB4I^$R6NU"!M82FS@=K9YZ%I_V
M'=R856 2K"EEIF6=P@7TP6>.UW1WS"A? 9.&?61J5MU5OBZ;&ZR65XYO!S+F
MR"R;5\6[6Q8']FPY]EE(GF[(+4(<MY#\8C98[O#E36G)@LK(00_UO^:Q1][^
M8<:NF/7/DB$CLWS<?VJB\6M![5LS6_!U9[E4/Y$7:YI],78@!#1&/H=V"1?M
MHIEJ*SZ]H'FK+!:N_+4P6GGZCCJ;J?J/9ZTV/XS*V'>/75H1L(BYM5U^,^39
MGJ!E1$/1"\7VY7M,-;?R4_.<(4E@]AI)<LQ:%+PNI,/IZ(8>_0QL,U$W&NWV
M"H+]1#F[W1YQ3N&85W^!KZXF@\)33]R!(7[]+WQ.:N2 SY%Q%ZBXU9CF:LX^
M55A'B:"N\_N*Y5_41E$_@&0]' Y4AQ;GL<-DBS))S&:&&Y!=[B@1CETDZ(;L
MVA85"KN-ONDAUP<?X0!-@ /,F1J5-H_ML8V!VHRI5.XW;U/,(T-W)\I*[!RH
M("&?NFQO^ H@FC84W8G?_'.DMGN_O1\'6>*#T-V^#C'AH/(@"(\BKXNNEMZ.
M=-:>X,EI%']IQ/LC,,--+A8-V2YMS*6<PAHVJ?QY?T:G!G,:;:BX\+0J1YW3
M"CA] UH2.XHBJ]3=7S2@30:UXQ[9N XWZLPWHUCUS$/^10_P?W 02>$V:U,D
MDJ1Q-1HXQ0L/CG:]/3)8#*^-25&S+6THQXJ-EMJ@K Z%L&4_QZE=[CW+#MFB
MTV@A7MV=Z'X>[]!8T>PPA:<49#X7?:#T4DA^:%Q]6>_^ &>WPE CLS?$4)F[
MT(<1**46]?VCR@9"M*M6-LJ@*ZN,L5>?)&7:HE PI>PL=H3)_BU*\TW'YC9&
M<H@OIF2TZO1;"8+2:2%I2]@J^1XC<"!C*4KP8X]].%W0/@WVB,&Z1MAY&<1\
M\VR#L &VCAW\&FLGL2!:06F$8-O]CJ)$V@I3<U!D7=\-E\H\)"?S*3%LXZ?/
MY;_LCQO72W^,VZ<IM9"EC(0GOHF";/'I49/VD_4CR&1YHPNR<9^WL(X,8+7K
M?!,R;U6/"ZQRA>L+CV868LM9O<\,VZ>C(>0&]>/L,>![5</'H("&K,'@*E'D
MB-R'PE&%>_0NU(B&3WW[_^<K^?.K"?$QID;<$#P8#^8FFNS3Y.Y)= ;M70R^
M"*9-%+YFKZP5DI\;6;[<:-D$[U';?HM 'O5O^<K45\*)</2Z[(^^2\4FHM(1
M69$QYO7=OS0)W?B_>'O^:=#RX9GW7H]I;!*HUQ#]*LUTBZ59[>Q/:(K:/'&7
MA-0]ZMV/^'9A(YN/EK4 -<?N"JZ5DO\:(!X<6>:.H/\<E2B^[43ZW&7)RSI[
M_"I;*\@R(W*FPX*AS2UFO7BZRB)X;/4DE5H5SMC[_%$ \;+A[QCYAXB(*/@=
MG8K3FD+_:( BU??QUJ+IJ " *.6$>'*HV6&6?\$KOI)YEI9U&:6EX)#/A?^Z
M:4>- :;\7$2=%WX[= V%'5WPGHTH*G\2@H0?2(C?=PZA/\)()PX@*B1T>(/_
MJ2*,O]@@Z^=.,8/0Q??L[[)9!YUS-!XZO"6J,L35:\RU:^!W'DA^OT];_BR$
M\L,%<')M&DD-+2?K1PORQ(S+P4[9BB0]1N"L+8KI+#0T^2X,2LHY]$Y,QZ^\
M^HBGRQUE<H'O[".8FQ+A')5#]><Y0@&-[77Q!,ML;^H/I%!PE2QUB=>)#3?N
M'#J8O?_503N*S#D'/D;DL5C?/$< ;_(Q5W;5N5%")1>?WVEW?6!BY)U,2;3E
MTN*=DK@$N\/IE>N&?/^R8V6JJLON>RNGJ[J?G@[TY#DWPY$"?C(RPP=PME6>
MW@-Y9.6'HG5."#=A-HI1;6H@;P-YCG5=P5Q0\@5:3?J']GJ^W4?Z]"W0X>$%
M!V6TC__Q,=$2\*-.;>BYIA-B1Y)!4=*-\4@'QG6UV ?VJAS1R7!C=O&"ZN*E
M$/Z);[TIARV$#0"FA61[3>$1\Q!R$1"8";G^8\NA07?:3MVW\'VQP><WFW .
MKHWBXCJ_W*9V1P#=?]5!_@V$]FFR1,@2ZXD_.Z)UU3VMH:[=A(,6:,/CS<R5
M[-GR=.S6D;4'1<V6=]^GQ8I;)NM_V'2Y\WFT\^':>[015BBBE%'4=(]->S4#
M J_&(^06".<Q>N9O\N**G#@\0=)N,JPHHEY@1=8B?%97^6KY%6/\,V6!H:L"
M\UZMXA'+\.>4NY'XGH6'O00 O7#E\#.^;&\YIH1/2B&)8]9UA-$J49':^P/!
M\3F^C(RJ*D)&'Q+;RD&D0B-<N>7 K8-#RGY2JK((,E/7"T4H)5QWHS;-=+QC
M#1Q(Y%;"V?#Z.K1GG&^%>CD%\4A>@?Z PA\G<\05VQT&Y;*\5NX6_[!/4\2Z
MX'+W].YL$=#G:H^GPMH?.W:'5IHL-7: ]<AD!+'TMQP/>*.AP)Y7TE&A8$3%
M.6GB"2DG($W>:Y?N0:H<EK-3!:+6-*0DZ(-'>5= 0:5!O;PM34@OK0X[=5R6
MX3=L3J1"LT"NU(\<N)\Q6HEB;]VB\</CG<>SXENT7-@*+SZ3M9= ":_;X7?3
M($OR0H5)]T'3:&_WN37>KL8V3"?_1+.*8LDZYQ?/Q\C47F05!!M[Q<:R.ZSF
M[-^%LG\Q#A4[O]H&Q?DHU^W3J+FU:Y#LJJB9T832Z:5ZZ"4;E-NCWDE7W(,,
M[S'X_3E W[L3(ZVFS%-B8)+2*V):DY%R AJBUDC0QMZDWFF7\/)G,A),<7^V
MC98N-C<LBJS16""9W1F@@Y4)2C>STB74WE?0U3EU,T>)7T7Q[8C Q98U)9[!
MZ9%(.1!L.*)2JXZ:MTF&N&>Z#-:>,]"]3JHKGY](#8DWSYM)OD?[73-BN&O=
M'/2^M[.E4K)6S/E17;@-I7".^\S-+2L^A<)I;NX-<+/_(#7-Y_.>N=_T;A;8
M@D8/DSY\[)C/.[")_#7VT9EF!G5/?]WCV$Q$O]FG:>IZZ@^I"R(JS PL3)Z?
M+U\+KMOSR!0@(Y6/%BVYX*P0E@J,!A(B7-;IKUU@B;ELBT)1 DL27$GQ%A R
M()@Y/H2:>7(_32KGQ_9@.U(/5:P^,\3G(8$<ZPKT5V?<J8$F#O+W.IW_U0"?
M)Q[(;1@BTA7)0"FJ[G%=?L!N@6/'4IA$P SR*P*L5ETD'(KRU,MU^,2FJUG=
M"0!1KY%4=,8+[4BYO$]#Q:T>D"3ON#7%/Q2@,_1[F^>_M0'[MPSO.5CL?)E3
MML]:81KE;8L"-;"=]\<D^7^RD)T?6V4Y8%4GUDJ@T4>:!3C@]9#X.A)D1;[Z
MM?1[9UMQCIZ <5S*H1^X3"6/%*>],E^'-Y4-;3 Y*IV2I.*@^A;(W5RXT6GS
M:%2VI]%:[_^G&BCYBQJ(.7!E4@'KR"JN7-Z BAS!6WWJ\\"QS)5,-*)J"@?O
M02@_!R(67,WMN3C>'-^E2%"S>\JAM6.N/?U]3 :#\H?W::I,2=+M+?4:J_XT
M-BVF)-LZ*JMJ;'*$5'FF"QWLAIG\+@0JWQ3E9]7?R%'GB?],F7X07:]06,MW
MN+8;Q_;9\%%J;QTW=)H]9"E5R&=H:7*K]Z$,^BZO]=174DX4"KRKP(S7GC\2
MJ*[;JJ$F_H*[M^2:*SWLJ=H99%\6+RS(.X5FC_1(;_:!PGTJS3.8#L<61<9/
MI]*4 Y^QQ RBKKDA:<\LBPVFKQRTVIV>^,^#"0X^IJ Q:394RA()G%[F:)\A
M+ VT2RR#KR=_R16EY0*U029SGNF]W<)Z,,H.X]#?-5FCCL,Q<%=#7\)( /ZC
MD0P;5TYRK:%37TY.(ZR'('_^[.YM13ELAZD65*@'"@KR.L,]^,IF%+75*ME0
MK[%2PF30UX@X98C9SDG3=HQOB:SPQD9=;$WB @4/[U3R$2QN>0TR;#"L(VEZ
ML$_F>$B$B2?ITSCF(S[-J8&'X2D"&-CZ%H]O\]V^Y%Q.OS+L=/@X74-.<]QH
M;IV/?!U@0 \#7V=N07)0H%ZN'#9=J)@#?ONY",$[G+',W*.G8F7_W\;,/_TC
M!TCV@<JG=O[PF-A_HLZ6BBUL-A7*T '2K$WR75\[#*B<RED^H9P[+4F\B(I
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
MEO@ZS$*%*6M1NX/$DOHS"CY7T3^A]]]2QG^&WC\$8%0S%7HK_PJ]50!XZHA
M3'A)OCK23X[G,IEC;)[@]!F_)RCM5_X*$TZ%R9=*DY94=IO(LE+JH]0<E2M$
MY:*#2F0533VS?1I,[8$L7,L[]#\>!_OW;B> W[5?Q.^5$+X,>*6?G)98Z-^B
M2J6T;Z^D?X$!!?"LU8O:>JT,?:C7/%HA+.K26?)PT)SIF0IV#%<WPCN9PY(>
MEM#S6,^\?(\E)ZQGB^DOBK#_;X)P<CY1;.A?64LG#ZRE=]HG%)V(=P_\>5&0
M'P9H6\I[_Z:INO*WP)_GKCHLR<-9]7GLQHD/PBSCPI'B^:N2=@,Y]2-Y4 8Y
ML8Y:@8(3%RV2LCW4T((O&/9I$%X;25X=F/">M?DW3@ 9I&3Y=6M/O7<$/)H.
MM-SEWZ!3/[;K\+7;*-9I3-S?_NONFOG\2PEW)I 3ZW5%:F)Q3PJ6F+-/TU=;
M4GY?E-P*\M71]]LL-&26GRFHA 4?_,;]RE0@I_K8%C:Y(E, X-7+&?;59!=O
M/-L?(E;84XZ4NRQE.K5D<WURNO!D2O#)K*<Q9MTY:HJ!KM5K!C.7TE7R:0]_
MNE04:2<7E@PWEF9MFLJWFM,*^$3F,OSF42Q8:^]IG>6J\?RC>+BC8');X;S#
M0!V'J;<6@-L!4R3T@QR#[ZL+6#&*&EC,E*;"TW53DW61CK+(P9_X]->=DL/5
MPAS:4X-2"H6(XE.XRZ-&[V;*'93QJNY^9[T<D9*$32:4S:&$$7U[>O!<%.JR
M)=E]G34A)$QO_EA^+MS!/1=YN,*^^0@[UF+\+7DL#P/!MVP6UJ\<JY::=QFM
M<CG3,9=1KO#]KG8"3*'P=L' ]?Z;&X4/".BT)NAIRIWL]QWV&J?7D?+$29F2
MF))!U*ERESW)0+]X/NY"^^M=HH@BW=0G.-6M'GM7 POA>#D!4IXE.]N27B^/
M>%^F^9I^8+7H/2G3-P#4@QNFYV''N\'H%?P]YL$B;P)83GBT>.USY9/KEEID
MI-AY@-OBEV]="EMBU8=(K/.P_NE!L45];#CTGSKP(9.*_?'_T9<[L*V)%L3U
M,=-U9[7C(JK4;T):7.D2''7 AN-[O EPM>UWV0H"'_T+\E/SSA;-^G"Y%E)Q
M+;O(_[>,O7V\<9^&Q=:O?!T=M>.MLC>+/,5)Y&ECF;@&8B&>&=;,$L'\']+>
M.ZJI=>L>1E%1$)&F@$!4E"HJO8.*]!)Z: 81!$*5*H2FTD,3$<$ H3<I$06I
M 2D!1'H+T@F=T$+O? E'O>?<<^[X[OV]?^PQ& ^$L=GLYYEKKK7F7-:+N0C\
M(^2 RZ:Q)6S2KRCB?6[]#LR],K>K:GV'BCX%2R%KEW.W02RO90F94MN,E^3N
M+'JI?OHJ[CX=KZN4 9QU9@IMT'5CU4$7-1_/](ZVT _$XAY__T>2_#;K1'MW
M3;LUSJ9%FMG:;.$!OP<:ZI383)7OKJN;WFX172F7[E .@1"3S196[HWU>@>3
M?CBP1B(3"H3E/%@(PH&U$I9V,66!8*RD,;">&ZY9TRKHFE5RO0+KQ*>/ARL"
MET^3+6'?7-NKT<= KV@>BQG_2#![;-51$><SS@JM]?H(>[X];GFP..XRT'&^
M/1L'A;UYO7;O_82/2.=F9;0=#JPI^L,1MJN WGU6^M'VCBCR=)]@5DGYD_M(
M64KME!IPXGM8XPP]WUZQGO8G#>ZO=M_ K6*S'I]#+BP4<Z7WRUJ\^X#]N#+*
MSJELS_5-?9>6-T1Z-IW23[;'4O!=GK^B$4I>?@*NQ5\TR:Q[,\?[3,"R8B-[
M!L?)E.OQLJ676M42,KG/.P-G><[)3U3Y*:'%;K"A^(*@=,^SWPK>YA<I"K\W
MJ)I.H([YJ>XYYA&B6WNNR/,01BC3CPY7+K8RX\*O0C.8#.>J<".VN>^,_IO-
M.SB]7-C*5C!U7MJ#.M&"\@%30<\ CZY0U>6P:(Y_'.>T)A.BO:,4MHE4=AM(
MQT1Z:52<[S]3G(IDXR[HE"RP')4 0%_=CX#<;_'O%!E"^D0TAFN./&#S*N[>
MUJ+B/V1OA$YIL)0B[ZT(O?=(LWV>A[_0U.?O*E6MJ/8NZHBDPI#>\)OP8/)F
M[H-*KHK/?1%U)'46Z>EH7LL> G+)=L51MJG)BB\]D/J@BY,][Z=39*[$2HD_
MV7VY;1LIK>X/^KC_X%.S$KN436-TH.DRN(WIN>*J(X7F[*"SINC.9Z!I*YL3
MSP=/YDZ)I!/#.R+?VZ%;%8R5LZ2>H%8$0QS:/4L*-RM#^7UZ;MYYH-)6Q[5L
MP32IPLP:QED@D/TK0,&WA[8&&JXJYO8>WCW80'(&97CJ _Q7'9,N!@6EE-NG
M[$['')'TP!>S'='6;M)G)9#7=S$=?2;X.<!>\5K)2ZI=8X\-9*HM ?RZ9+9L
MT U>"DC_;:795!A6_&\MHO_+]0N1E^C'1^FK)Z]M8^0O;P<R1+Y8W6YCZ$GO
MN>?5,ST'WG>35%JZMD& \5,$AMA(U:-'M=*W]0JXK_/L0,[YB<\9A\#M/Z!Y
MY#<T'U=L*VG_>VB^PTCXU#$VFQP^H"%$(B:_%L+U?\H6XW@C9>C+3AX,4"D_
M0?3D>: ]J25S["DZNCV[UM,E=:.?:;[+,<6:JLX*J)P[F"VPWKO222S6EORA
MTA\[9#J&YLIC:/Z/JH]Z/. 8FG$_H;G<E^:Z+X7T,_P] C97>-MPNN2;T/DV
M/3HL?D/I??KR$H+7KC%+675-I0L^1(XS8E[MO^>1Y9KY4AFJ\TD\*$X#K^JA
M=#VJ;!I^1LYBS.5^?WR;:%J;:+:.>?>+Z8]OA7C;ZO8G8,"[< AS!YG@.,O#
M:<4\1\4S0$%63DG=U:@6<FEK8Z\>%\:,17@79^RU&KD;?ETQ0#HL/X^61E-Y
M)R]%C1#K8COLS'?RM&^M(+.!O)P=1YTD&0BY!.8F9-9!641\].S<]/2\0-B:
MR0.KS50*SA4)T#LOT:Y]-(@'C":W#0%U@$*#$X<C]<)N%2C]K3V<?CJ);FIU
MH;$+=;LR%]OCM^!WYDL*/DV\FD)2SP'Q #*W92W0E!5QJ2HP:EQWB,&K)QS-
M.6D1U_#E78.5#__W#:36MJ^]Y*0MZ%W=FG+:""KT*]_C% +!?L_B<BGKPU<^
MAIQSTW$)G,E)\,JL7"DKU#DN+D]M"!TZCXKNX8UN9D\]?%ZB]W/(@M2'\;*W
MF](0 K/22[VW\<'L!(\ENM.N1ZD16D.)]BRU3)G4,PSV$.)V5-6,5J9JA2U$
MM=U*Y,E>,=YS%05)X6)]*XQ8:>+M2TB.2*Q+"[GQXL_:1Z01GV5FHWS+N:$Y
MCVOR4HY(7'3+5QB7KOYYD-#4_K' PR=F[2EF=XM 2A&_6I8RU[%302@H TO;
M>?W0IA0%0;1H%H)G**+QS1:K>(^S]X";>^N-A$:X%O?[LK'EG?,$X,S\!9R=
M8YT_@1/U+^!$M%T>OZ7K67H*3R\=\R2J:JZ -GMG%'LZ-CJ[Z2N(VOXY*8%9
MLC:R*_'AP$H.J^_(^E!Y5SKP>.JM]X]?PH)=,V(^RIWR2L:DEHC)BQB^W?\X
M'6TO=R-KZX:>KFX'1\[@-I6650&;ZHJ:Y^+;5!7SJYO(N'T>QRFP0CMT%U 7
M"_;^X(S@0=?7&2$*+AGJCZ3+N'1U <IMPA8E';#\1R1Y,H:KHE"1/I0OEA.K
MO,K0(.)M,UQ7[<@JS8%E1LV!\N\R,WF,652,%]9OG=C*Z?0MH&?U[$Z5J3Q3
M6,]+G%)T1/)SJ#'13D?L#SN=@>HK4LU_<J4C7OD>MK>O<]LT>SU*&1]*Q2#[
M+N1F4*!^&$\79=W6L]1B;MH)U2EZ<ZX-A)*U'0Z'<H0+ CXWH;4J)\SDV,X_
M1SX)?W3;0Q?RH[^$\XI[MGCWJ8Q2H5NR[.4Z2RV\YA(,R@_GU*,CN'*W;,PM
M>8,L!1TU[:<#GW!'<=&>U]K*EG740O+ R>S.\.WD#.?D2710GKQ\,FI7B[25
M]%UZS%=CK[>3@&N9>YH)CDJIW6Q2UBH&DEE-F:+HZQC)<6=%H#:RP_4;S;A&
M88/-D)=0]JU-E7??D/#%IZO,4E#,*Z'$:='OH,20K)39\9D<G(LVV^.FL^M9
M&/C?+/?ID4E/<TN2D6>V@YY/M\E[8LIPE)_5W^Z!VGSX2M?LARS30&X71"Q9
MN?44Q "&>I/8]_2*"2C/NWH*,9Z%UQF]BW&C5'DU ?JP51X?AUXIW+#7:8<O
MK>H2(%9N0Y:W9CFS&F'R:0,9V=U+L#>5H+*Y1N+P+#JZP'?Q(W%QR5IWL8F*
M$-+^<2]/ZRM*,?@VGIDOISD>>]O,F3#*34-HSKLA$UPY]^/[ (N@7#\HJ\5-
M:Q$ KSP*4K_"V7#&IBNVUE'!644Q]GLYP'#W2@VR6DE[T43(0.W3).%<KSZA
M#) #>X*B0@U9"Q@37>DTP1Z_W1#=VQNHJHHG.]>1^MMU6WV5,4#ZQ<=5I-\:
MO!Y&=@L&'>CR>#?;^.84# 0Q7R@ACH[=N]Q7!3M.'!%'QR96GA7P8-Q"IN;]
MA,KZ?T'EQ/\9*I$_H9+8W?0GK%RCF[=B@22/$4Z&8QI;0EW>-T-$Q]<'-M2-
MW^ #*PK2-X)PQML!2P)IYU$3_ZB0?/5?WL?O)/)QSOCU'J:C2I#PU\OO@MKA
M94<D0&(6F<S,CTY;<^256*L8D,X"%8Q0#8R".QCZN&=>*+:*\"O'J_O[;),_
M67'6NM^"+<M=<.DXCFS3F!2)3ADB=;['S;Q":S'2[)X?B:KU;,Z_M331_H&.
M@WE ZN.9O,2>)HZ5SS. G]A(!NW#*^P'#.(,9)<PU;+CDH:#,+'D_2&M.R<#
M)#%/^J<OLV0W6E-RXN2"Y^7E15/DI(($!]S*A5352@5+&P4GFM*E^/2_G5X2
MC%C_(-IZQU9KG2&5\S:'X=E6"C2O& ^MHWB8UB;Z*DYE5$B3X8)HAB7Z&D[S
M^[?,<U3:2B64\$L)1R1NG]_F/0K<B;,NRS2(;Y7G"YOLLW[5]01%5F/(!U_B
M4IXD!7M[S+J9CD&3_ 2K/PX4@!CI^WN-1"]=<?_*\#57=U)I>&CC>MXKF.R]
M'$[#/T^52=Q\T#K+4W]XP^0@F]\RPU,XU:U?V?<',G'_D9-Y98S2\B-]_1'0
MW8)%VD@R7MC;R'<I)AO%$MX#6Y %]QB6R7-;D #(K(^AZG1Q?$=$6K[VUMP&
MTF5%JF#0?90>JT=1-46V]Z#*;\7EFLMLA 0H$B;Q$:>=3PI3*[-VY40*SV2_
M+M*P2M<82,MIG#;\U+O[:M)"0)>E9:IPK3TBOQ)U#S]2NE(\6WUQ'(T7709#
M*Z/!2Y?-&I&E,#Y%^0N0]6]4]'UMID >/1<NKT2+2^O6'[+"M :>"IT=[, (
MN;HGT@G&M&=5BGALQHONM%TJP?EO^SZS*#9.& ,]!Y^6@^AOCBT5_+E03^"6
M:>'$>37P@D.;0.F-]:R((Y+)$W>(Y))T:WD#J7#R&;:I1WL7K\9,[K1B,_!R
M\FXC0[I#!>PY5'TG@Z];'$ 67EXD8[BKU7@HF4I 84)D34L V4K"Z:'^:RDH
M?#O2\MS*.TXI8DKJ\RM\0^*,?E,_\B0J=*'D)M391!/7EXJMP3!BJYSPX>^+
M>YH:Q([[><ZP7^I!L_E02FUK<%W?*WHCY'ENSKG%[.4.Y(9QXST97LD$M+:4
MHE%@K$R42^46TF?E],P ;Z/4::^E,@-9\DU@H'A@SX":1URV9U9&P+LL9!=K
MX!OAD1>[78C RK1NR4CL=:\W3/C)^5'#39G@",FRT^Z3WD8X\ CC7C8>SS/R
MQ&XZ%DE7E@ZFA%X4]6\4G*WN>WD/!V<[(@'S<"_+&AHA]OZHM7;P_/:+;^O]
M:][WF,4KWA,LTB"[@@UG,+E4.R,TQ303J);+]R.RMBK@#7WT\GD,&];[&H=L
M,4]JHE[1W1PE(><9@T55?FJ8E;1^ZW-X;"!SQ<7 ,L\#WM33S]R1#V*,$NBY
M]!L]1)R!85-<;^Z9,0C*/XLKF&V7?:=9NFX,?QY;'G_EI7;#A) 7=JKP4HNC
M\@71'/VP7B=?#UTG PYK*\/GUO>&.A#^%)^9N^@'!("65R ,2ZKD5S[>N.OD
M?)^Y*_LKFLQ/J3#X>Y2:9JNRN#;9J:XO =<*MAD*LFH-WY=4 N-13NK\O6;
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
M]OQ,,!JH*4#/3K_PU,[M"YEJ,J5[\LJ*O8C_,K/6X!$)\F3T%TC?$0FN9JL
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
MPJ=AL%P[/-XRI:#&1:%Q...PWG=)<S'$I4WT1TE*QMX5LY2"NCW"?ZU,Y8!
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
MI#S_-L/_.T=NKC_;V?E'[RNGAO*^,L[^06X7U+K;MO_^CM3&[,M-B2$38F9
M1NL9;D$6LW2T"?4GP0>)%A+JLGS@=J67ORL%2JUW==$_]O6AQCGU;JO"@5I'
M57J6V+$8$F>M!B55J/PS6:'@D?YB&*Z;>/M//!*%-S/X)V^F&4]]R-&VD>]%
MUF?EHI!3DV#U+/!=";$MM6L5Q!-X$>3CXF2S"E4Y?\[S2&OYK7?1%29Q#+O?
M#;IC0GHBB+OGQX);P[=!W@;4M2=^45U%U%3N[OQ(HI.<,SI)L81N/TZ4^/2*
M&831X4E1/1FR]@*G$*8JX@_,6Q)YB_>D,O@8I\IGXFX?!316/=*23@/L9[AK
M;^7[3Q7N?1DYTBMF*2S(2&E>KEQ^0U2\PED"D"V27LLHX\$<3WHE[VE/OK<N
MM,.IMO,0#BG0,"3TIW[+T+/R98@9KQAK#!,X<>-ZBY5WS@:@G%#!9A6#-25>
M;K\GF/K6Y>C2WOI3O+TR,JN'[#*HW*OK1*N];T_W8%/46GTP,Z-7S']1J84[
MS4/LV'B0FRN%6UH27DK$&-74>%5Z]5K!>E$2Q93$0YI'MA(9[6,,AS\I[N!,
MO@/INKV&O@Q#;OI>F#%>C(J> S9BA2LW%#X1>SL&3F<'M J$Y4&D'J;,CMUR
M$CB\TMTVE"[%HK4/Z+5AC;)AC9[:DW-;90]G95&7FF1;"4-O22O.ER 4A1&*
M/AV!MT79MN5!>TD9__X?R;1+SQQ-:W.EWR&._BW:;VC6,2O7,:LT\&!"GL-+
MK'PO^D;KF]3^0]7NOJ-/8"$'^'^Z(2ND,:2*+%Q+^I!?U08DAT'#Y8=<>W/V
MY;^LODBZ ?V1QAB#PTKLA$_T! )9AQP>6].$=X407XRV3STF*+#1F]Y&4@M%
MC2=7Q#%=J#*<L=Y"I^YS<L9F<&VBD<Z]_8[5X%WQ[Q<K9646(;P\NAOVUK,S
M?QK?7#)M8#LVO!$<95O//$I@JD2ER;>.G@M!+@P5;J'E?[,GU6<IZHBD/\%S
M74>_MG9O(UW62OH\FU; I;M?EAM3'S[4N9*U'WA,;DWK^D4U7L.V)>N%&S,.
MA=%NY<W=D#Z4N$7):/S#MA'FYX]!Q3_%*%(XWXZ6XDN DA:&02?T^O7&O.+
M<!7Q$VN^".=?5%^L[IP(@T8$;_5F[FN4#'OI7MJ8[/ *J<%A[R_3NV]_WL-'
MB&33CF2EQXJD&[="<>+Q=H^U6KGT_>!/YI5ZD1T/==^3/@F^-XN)"KK06><+
MXSI+HEB_45Q09VM1:C[;)KZD%[\[?C?^[OB=0#%!#?PC<\G*5KV%<6U[ @+"
MR:X%/";.P_!L^=B^6''V +)Y,)+]CO$NN0?;L7214"LJVI17=;/RD=N%)\MZ
M&A?C>W,4$Q#"**4OT?:6S75ZV<.E+-K?G:X!2S_)Q#9K>=8BOY<D,+B*HEU6
M"E)YDPU*W-%(U.=:QZP1G--W<"LA2!]E3\HQO!'%K9?8("L#O1DQK"\IJP+1
MF/E;:L.K[8#'%<I#FR@KDH1E[GE/2_9AXHNNT(EGDZ_<I8-?#V=+[W4__D65
M!Y#*]MHKM=O,9?%Z VI7#PTG]498&^Q'F89TTBJ>^X9W99EQ]9%1,F:+.UHL
M"&DN@)T"VVPA.@_$XY:"$\I9]*$*2H8 .X$?5_P_14*9Q[,+JJI@>5B$543Q
MTZ,[%IL"4G]9HIFT"9U68QI:PGTTQWF.5#M-]"L([ NM?0K.6$-/3F_G59Z[
M8>M RL@(P5]_HR5&HVTW[)]N5PEI<98/Y]']YB8,[/%A[/-(X@=,7FNN<&'=
M6/*]D+PZUBH.NO00;.%F#)B /7M>]* J:O<>FF7CZ7]#O2+'N>4Q8A_;+ZR.
M!NV^U*>.LP.371@U@3-V085V'?IAW6LM#<V?T3A/QNN>69\^(+"_>6&NADRE
M\^#OF/I!WI>(P#ZMZ^WGU4UO^WNSC^F=FNE@V41_MAG]42YSV(Y.WJ?UGK(L
MY/ $18>!66.N). IUJ<SI^7M!>QN_J)Z18SJ/V-J/'?OU#0?RT!T=X:76X$*
M:,L#K;/](6/'X;G4"&8BAT-N8-.^@"R1K^W"@D5:U]Y./V6)OS/J6LGC[("Z
M[EG;ZVN.A3BL@3HAC&5TEOSQ&X!50G[BBQ])L*W1DU8C-ND:M@O 9GRM3%=-
MLU:'1?H-+FBK^-^* 7[L[&0Z$2NVT="_$+L6!IQ& XSB0E7*VX26I![%-77J
M3F.\YG.:IR$Q;;#EFIJYZ6L<.NT%T_1OENA#F[).O(5$YR.$YG3,;C^6G._V
M81ZXXL%2AN9;+55.G,*-CQW&3?;+\A[].AS@&WWN<[#'>ZDQ;SOA:[3/_E*9
MUTEQ)ZU3%)VJL#*D[*.C?!^:13&H4_OFX>ICY?M$^=1]RV%WM _O=#!/O>BR
M_@CU=3(+YY#.>9K1%7E6=HJB4]49NT"?5:F$?XX'9/^I3+$S_O]#S]\HX>FQ
MFO_O#G5KN;Z_3[<E$=+7="!GN#RU?.%1O86_>6C226CRT3\"RX"@#[7H-])+
MV&9O[G4,)%E+>P%9GK;/I&](^6W;_3[6GBHS^G/4/97KI;S%==SA?/=7[)47
M!7MELX[*Q9-IC[%7277!235>DZ2T7U1TYJP;(5B:7K+:?H#1O)X(.CWUH*N^
M8(,%Q\6 N@MH=])E"O+MH9&?5?5;AM>4UMBH6'F?6&D^?"+M[];];?_A4=J@
M-F:XX35L%)HX_"^&EO1-HJ&!&*GP<OI3$H$-FXRA$W@/N@1T2=4[\L%';Z$@
M%E*55Z76C5FM>4CFU90IDY3LS#<6ME'=LY!<XIJ-L9.,([_*#4MY< <=,>Q%
MG0MQF_5G01;--,[)L< 4Q4;3-C&O/ITY]Q,O-[-4*ZF68W/)YK;T CSQJW,<
MIJSH@V7;#Z BEB._S5C<_\^6[ LTQ^6:NMT7R#HR2STS!WMG+O=2C6WC2A+K
M\$Y%Y1O/WAML9S!8#=%/NM:)&S'4MZO\+C++LO+>FE-0 USSR*I6?,G2:R)Z
M+G5>):G LOE;9E/GU^P%>%C^\,I[?4R0&LZ;[V6*];$48)O463_7%#I3G/<5
M2WRZ[U+OVP\^Y(4Q0"0'@4?0)0MTBTC90/_((N7!]Y)I!;93;)G:;KJB+TK?
MGX3.L 6%+Q=)*ZZ<]P?ZC(_@#.C:UQP<>B9":FVY64PBW98=U!P(GN=-6_OH
MO3(_ITT)\:UTL>\1)XHYLV=H/SV0VEAG>,,G8WDO=@$XW>3^'3!?3<M'&\WR
MJA<1\G;6V#!V?CR#_L,6=6<,-K+K>*'Z4KSGC#*\^ETH$X)9-9;?K>BZ/8\R
M:)4-M!K546C.^99!>!BUCGX-3)0HI?*QTII7OF%E]#/K;O)X><X88H?VR>&&
MMW36+ZJ&]Y0AN&\MVRH;I:O@]X^NPGC5'4_=W_%9)WK^I7S@3?;PK9,4;"E2
M"HL>6^7H3V<-J$H@OXX@I"OW30/6?%)LC;&?K^S+X>[?V67UX;Y&3+GF1D01
M[D#7F*3#<$$"+1]]+W%I_]12&TE>@6J)AQ'HNV2<LRHX:A'#F=\/L4P.>\4?
M$2,TDZB5!&W6K':V"ZW.U7^06:6/+6V TU9'&^C6RM%B4=?3.9S0UX\]5P^L
M\W(JV-FZGWLPWXTUY?>3#6\P !&8\/N1H\)J9) .TR,WT?D?/^HT^3W.214_
MK^F\]*8KZ2.P][T:A^.MLT[(6%WG')H3@!=-HX;<8M<AXTD'+V]7V%V:.S/B
MO%/H9]"4@YJV^'P9I@-(<[91!2<IN4-U])N='_??!"E!>%:V] >E[MA*8>8Z
MK-H;[1E!_CIQ(?F>]%/Q*F+<(A-7+\ C"@65[U'<D_]Q'Y\_#EJZNYK* ^$G
MG](:MO_!A!,W(FJ>UV$NQ[MS?N CX >=1BH??,$6.))>9X0YI+>\3P+;S[YX
M+I[[(RD&-V#52)Y:JE^WDIM&.M'PK^H@M!79VP!9*9D'<FQ;>??7"_QJVJ_S
MI8G,='\/B@DT!+AZ7T^68WCNAQA#@5/20BM>L1\@JR'TI9+17S1DZ0,<?(0K
M5GGZS+/121O/)9J;:"E]P.:DNPZ)&!)=U4[?7B_J/:+2J04O+BPD+[BU5\Q-
M1MZ1Y@7B\MA;AR,MGT^-UE=E5KU?40DOP6B%O +Y;9N<XBBD9;%%9Q9[O@ZH
MOT\[!I@TF6[?L'?HG JEJ/3^3U-PQRH11$OG9T]0*SA=3IQTM,B3Z)^:=?7+
M9WB12>*F@+U7;FBUTT!V/WH,_T5)U=,".*Z?('2%1 \_8ED; =Y$!+K)Q@@2
MW.NE7GK/=U7=,+3!RG)@AU[9AF&!Q*U;G3&QS(&/9:6P3CV4#27"%ZPS-P"\
M+(KWVKR<WB"%64>'H0CU$3_.N*,3,4!3.]'?G) ;#QRW5"\HV]W.8_F2'CE%
MCY_5O#D,B1#AR'_APOUMKS=]7XK8XJ;@G]?&2V^#2J(9889NW"$C)^N>SLRD
MB0O,[NF][SC#&BWI5,5"U"1U>$P#.ES1UQ1;&_(8G(^^LL)?(D%X&'V2(CC/
MV_[+8WR82,J)Z:0K+B[7:"_;RKI#FW ?/'LMQX<ULBICA&P%#.Z__)S77Z-5
MK :\(EY4!RTSBR?.&^^E(=7 \S%!T\$F-;3%!O54A[>,Y+?%AF13G_&W K_O
MLYO9\C7<F)\)I>'C5'VV#I@PB9T9BX[-HJAY]?UERD&2!M#NNHU#AO\I;U%]
M+&_!K[7&9/^3:+JLU::X]=,]8LAR7G_D=Y)0=H%7SS]L=XYB.L'"RV(7]G?J
M%L[_W]4M,#Y"YXY^*NF0 !OF62-QZ%%YK$D+6U_19_6Y_U9.SB)%:O&61&^A
M\JH9KTCF)15QP02@TIS:$W%BS.@\7GXDR>ZPC*FFNL998YCMR9\3?:>C&ETK
MX;A&1^:0OX[\UQK]OW"&DN#4^RJZ>ST*;#Q6VRG5QVCI1UZ8Y0Z?65+WT(NI
M2-SM1,L6($K@M]]>:=9(NW.):^(/O^@ $@/6MZ3>;!_5LC>3:BH'?E9=]VWD
M7"G8K')%U[=9L?V[HOGTOI;-YH<S!N;PG>8ZX4.Y@EK&J:H4HO%:LO&BD83[
M7%=C]QUKMP*L8/Z"(XG=V7$:245*"][B$ER!CJ0O(:Y9M2@[R=@+*&9Q?)[&
M6&\*/.MK$;H156V.DV=YV9FV7Y9M8+QFT&WJ[-P1';O.4+NHM1CS[5KK:1BU
MU<K1&5P1&.W?!MXL8_;B'DG%TI G8Q<UHDE*LO0Z9RARA">9IKQ,.0@B25:S
M>0CR0IQ@JG>>HN_5VW9R7ENHA-TX-E@!-?W>YAI?\%8F71APQL*+,]APCO<A
M%UPT*RQJ)* BO.7SY%Y?9K6!UJ<""V."\8L9&S6GZI4;Y9;CUFYH]U+&TB>+
M$)65D8:6$CW^3IPC?Q 11K.S+W-4<[RWN>*@) MHM?W/Q>O@(QZ"B_VV"#F1
M+5]T<(A9KP[*/^RRV'?6,A*#DCW Q3DST([ODM8.)N,I84-25JHYR+=M;?"/
MCYKA6R\][K.+GHF6VA 2R6+[A,P,\D380MOW3SB4; JVP=:,.0F&Z#='<32X
M!9I(PK9H=B3TF>=*!2,.P =<Q$958[4,*2Q[WW'<1OP1J ?=I3O9YHV>NX\?
M/G[H#9QJ[CJ,& 5O/%P+O,8O9W'[_:P,TR;)O6O("H%,&J7_YI'!>4I0S205
MZFZ'N*S_BPIGI#;[BXH\1KN76O5RI;H-_=AW +!^F'2T+RY3:/K3Y-%C41O*
MM)_Z7]7B3LCH(@A=Z6H:1A+;-<T+I=8.(1CO6XYQ8Z\WT'3;X::3S94WYK,N
M L59RH*&6:W2X% ' LTH/_W["1)NCG>&/%UVR2.YHYT4'FK;(@;'PE4S_472
M4G)E]9_4%G!UT([2V*E:FDCCSI1#*6.ZK=$_Z4$4P+2J\S%@FK*>'?^8 QS=
MC[5DI75T+)_Z06$P&]Y(P[V"[Y%<N'?>]$63WB:LK7BO+9U3Y.6X>]D[EAVA
MA*<' U8E/6C;LZOFY0+K>)W!-6+EJ@6P'OJZ,,Z5W>$H SV0?:I_IA!9[F#6
M&IM;$K\776A8'T@*0+XXW38->?GD)5#I>;GPVB48"*#X?,ZE*[>S<+W^ ^PK
M^,Q]H+9"%LZ#U8]D&,YM>P M[MIX*Y ]W(,M[[1,#.$&WC"DK[-79^DJ IXR
MMDAO3+O]YAI<&?[PW@DKA@0&T=M)[/ZA83":M6'3NFKSR@C)8<FY- 8.Y?2(
M!_L.!3L@6D;8:MR@GP.7B6=/5O"&ED<V_W!\ST5/1K!KX22)TY5C(!JF=5I2
MK#<S)O#\G2>1*J:!>%Y7Y-NDA]JER1^W (/NU[H(95IA 67Q2\:0O)7.MI:=
M0H@9KXY\6D!HFU%7[^MXZ QWMSS-0K!\QG.(N.3C]*,5@P'O&G%TC[:K4T=X
MZ9>?>',&ZZ$Z37 ;O;)!BQE:;+6'OI-M$%KZ.6[!*L<U(MLN[?;"8'\[[^PO
M*EYNK!\M<CZ[6/0F1FR9&LQ -/9R0Z<N!-PGL2WTAGF)=%5U,#6'12^L%#2^
M\#[M+I(#D?\:$)I*\?O@ZOQ?8?U%U1NU<YH">'>&,)1$PO/M92.91\-")+8K
MR7@B @&>KU'L*FP+"AUW:J$>R2J;T+[7?V>/F.L&JF982A2,26TI>PQ%K<CV
M1OM@MPI46L<0BMTKQ$.=Y*-GBN0*H32@P*PWMY$P\1'&*%_Z@M*4Y0_O/$<L
M5][S1.(-TC&(-"47?+[2Y/W1R;E<7V+TNOOZXV\$[SM#.;N@P'W9K[^HE",,
M0)!K*HKU@'$7IQ;R6\W:]F[[_F'5,.53D"'#CHGNH>>7IO!*%P+Z EFTE9JU
M(S@F\+(*PZ=%]1)+?ZI8-+(_[9XO%'$G(A1WLFI@G_KYTI3'D;O43[$,.KE.
M UB#9SS 1,QU0^:CF^'$_)^-&VK%"0GSG//ZPK6F\+F".U>^+2:^PYHVP$9C
MJR2'@58/IL(3],"<B5 &(VBUHZJCU<>0$_#@]&%[<!;/JAEN0*-( AQ1>5K<
M/>5PY11.III3R*3=8TL#G9-:6:R87M FM^V2&<OK!UB&#-JQ15\&DR1HTP^0
M(Z*N&X 1D#_8H%,2IE%T=$X5"OVE.B:SP=,.Q,EH6_3E[6S?+HIF9*WOL60D
M)"U2%:+*5?Y=D.L[&D;]@:?.F&"[S4GA1J5^,=A"_:(ZM482\<$$</XT*V;
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
M^@-][+1@C[73L\VS2U!W>U^\C!UBF68W4/7/[O\O*O\J;]=3A^WH;,'E[97
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
MT$WL8;H70VZP^R,'E-<S,?EO82"G@\"R@P%/"PGO'W?U'X<*1+=;IWOB=]3
MN^(U_(S%45JSD-=C":<>U7*-X )52O>$OBB;PM?R5'=O%)N:+![/VOZN#%<8
MM3_@LJ15I%HYBOK"][>*1 !31J\=MQM@N^?KP8^1PQ.#$/-+P661I3@WS<1
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
M&3-\JS:YI=QVL/'N$Y<2AWWX1Z[A3>]>&2Q[]2*5<#2P(ZR#-=MUXU:L2'E
MA6+ VU3W&W#I?L.BS<?%OXA^\NP +(O<6J:';;<,#'[YAY:5#&![R8R38 HB
MLRJ2AKT>:"6;0;<J:-6RBK#8S#Z"^'#VMUNXZ''_]5EA-& T+$MESX;SL&*K
MQ,TXB)S>=YY0Q&)RSG)[;J"$$\?'>W1/AVKP=J0_"8.=^DQ&?S4GO1<2;79<
MLKFP*>_,INUY[75#7=7+P$X5+F#'Q*")7?>P8CG7>B\-'"[CDO_6P^9Q7!.$
MB0@LBA3-)FIGQ@$Z?N<?C[_(>ERK:MBQP$8$Y7@8%;4Q/_TZ%<+X=0-U9&BE
MPFT5:G^"P8C.6CUJW;,%@;!8)&:S%SY] @K@3,NM!J<V3SW7,^-E;1[\$ WH
MU86'=BM?=9G@DD;#:6/&N@SVPJSA4[Q^[ :F/MQOEJP*HS8>DR5K+KN!#ZQL
MW<69;;#,*F@&T9@-]BP=-BR)SO",XCD WCI!7M1CT[B3^58BJHF[29[ ?4\;
M>=2BL4ZY;DY+=)-RZTG.JE2[ ",Z+2V6CSRG[R2X !^QLE*%';758B'#@39/
M.XWT=@:;3\%#6NWCZGB\44(=/X;:'^O*4,US/7S2;O+8=J-B3I^@::T;!57<
M0C' E3^D/Y0MGQHWAEN2VF/O,P)!@B?=*6UE2X*7AIYN8N1>$"R(@!EM:9GX
M<\5[=M4%B=IA&6O,W' M-][C=4C&N$N=>C\N^&67.RQ,G+?TN^:P& 3O00Q*
M\J2>CAV2]X'U'VOS!@(JLG%5=;<@<VH;(Q8&<QH\?.CUNY'%AJY*1S@V4 %X
M#+YV\-7<"R/:_3]]HD?+"?49\\QY^-L*99R.&F?FO!.DNYDC:!I$&5701=B"
MS4E\^^T$T 7W45PPH-@S9#\O1CUY\Z:L7,UXW_"/CQU5D?T&OIB"JMN$%Q^Z
MW[D Q""XA>4A.TL.E )&Q;Q&FD=O<CAS.LBI)SY)_C3LY==1FV]2]LG=@+];
M,JX#O21LZ[\2J(RC&?HQ"I7]#JN&O:[X,=[AK<[DG8YN$5-^N*K!MZ]E7-ET
M)>5H8;DUDOJYH&MLMGZ0PY+2XYMC:M/Q(A#H#0+7R!L:0O0/;W>.O-?+)X+1
M'WQ?W7R*FQH66K7"C=E>J]M^[009\FKAS#,*OQ",'G*V.6/990151 %/1W>^
MS<V^JXALW1E*PWJ4E4^$J,7%U6@S%Q6:F<44Y2^_=57$H9V 9:L55%EY$F5F
MW"7,1@6^!,#B?7NM+UQ;X ZNH@(-F6:W1]O61N%"L[BES5M[ DKV<GU=NH_>
M;+)136."V[<^NAIS4I,$#Y6PR9)U?LH!X%0#HU-$/9=ITL0-.%P H[;5*?$[
M$F7V!B,*2*9JT&\?Y86;L3$AJZ5-%ORC&B!TLN_VKC8%P(L>OW# ' !TBX<N
ME\VA 9_ZIOFWU1=.1D]'QB8O*ZOTD-',<8T:$1VOM$%ML+GH[/%0K>1\%^A'
M\F5BI@*8\)X=TF:@R9S!O6UD>2L>LJZ$JU0)N-]7^,D)\E!WV&S3+J<R.AF&
M"4^Y$V//.L=W&).YO$;GEBH9)]MR03Y>;FY)@UW6D%.P]</I?3CU8/LCX:,4
MLWU54N+T]Q>FW7!OEC-U2.8'_2K7T@-,U>"5X7L?0OVQW1.LF'QTPW6QARC_
M/F^9!K0&TS41B!LE2GR]T61J[GW/K'W@<*Y$ .QIX$7LA5U!=Q (+P6?O2GX
M#C'\QNL .!D3$/?C +# ?;8:SSHB2X-)Q6G5>6KP?72<OIRA 9HGZXIT7XFI
M;TR^J'3B4FF#9:HSQW=8C:^@M9YK*F<=:'[]65F&7#\QERN%2,N6$FZ[SIZ,
MMN8BV5ILA\S6H9[(,[KGIIE$H[Z+&_$>5D8#WOXO257&>IUB";6$7"VU7NEF
M)8PM^]+B<8QE!F&WM+3AY45]*3  V-'1PH3O%#.^&([/>2">,W%-+ I_XNJI
MV(]9J2VX[2]<MV\%&-%:ST4/4 >#'R+9>"_.[3-HUN;\7^YWM'\IZBIWT',N
M4B1+.$$&JM39RCRE+GBKH<><FP4M"P$U^-S0X[6AF1F8R53Y75TW%ETPVID7
M.;TNR&@\K!WI6\.F>W%1S"9$89(#+M SH;ME+]#L01#*F5LL&:M<Q[X-U(]^
M^#S:D?5[1KNQ^/=Q+&@>V,-5C*K-/!Z3WFU4E/GBU-3]=K!1YAU>FQ\$>_4;
MJ^LCH0'E0)!XC@O$J/)$: :F0GEJ43]#X(D_KH$+<.A]*^1^T>IN#BZE^GDZ
MPM!_#+MQ^0TZ4>J]0"/4<FBVOB7YL_UPB.IYTNAYQ#!S3WYDI^Y/NN<[V-AG
MJ,P7:"5%M^6O;!0OIZ,]1$-4?M3M@GU&HK,V<1/TV4YH\G=P_=-Q%*1<?BY#
M19O_0-S50M,C^KNL) =2QU!ZHUR2'=Y?D2D@1G$<#'59*XL_JM^\EZ$:DXRJ
M]&P _<9/F4EV00%A\)4)^:E]!M\&1L>MQJPJ9A5H0]0>#570#,?-0EY$$Y1U
M(%UOF#=+!\YY.V2W+88WNZ)GV?*RHZ00('K3&P716YGM2G3:_\"\U9_T 'KL
M )BQ3I^'?U1A/ !.L1X _F @+=45\6.':PT!Q$Z>!4/K$+50RB<XD5-EM7[U
MQ>R+6@#1?F8B'X5Y8(\#-8:_+5[0C-7M==E89;/=CS1T[%% 4=4)FQ.8E&;Z
M:+O"B&DML<H5GDLV,<Y3NJ,\*;QGR2?[PLM+]II*JQ\#2=,L5%,3LGW!G9G3
MUUX0;@;38_-B3-A6V@$/FQ9<'(O-F-[:7*C-21D0U+P@MAG1#>R8M@9HW?*$
M+3W#&TR.5CD$SD4OS$.4S>LM X[HW3N&7J^)\C[KS7A-=^@I!%:RISD<W'%2
MFYL[0JP[4+P  5]TFW$4SP F\0F1X3VM"]CAAFI\V)G@[WLEY/!7,?PM$E+6
M$K1*1G2/28.:NY!*[9>J8M#W]7E]D^<<DM;MFB([,LXWA8^YP3^[5H7:EPJQ
M0U6!@)X,\IVPJP'1LWO^#56OB!61NM-7(_='WQ&P>X\S%S2@:MU%Z *DYHM;
MPP7/[F#0Y@^I+\I^&9]U17S>D%V:H,>O7/5D70#QTIWL<('=<XZW?L S"0\C
MTA@>? K-]V\4.<%JY<6:C/K*\-F'HY>%:MV[?"C#K<@_EFOGY/MTW*JNMGAR
M- '*X8RX5>L,=,G.(QC1)T:]/.8&0E3U:YFAS-\4-RNV_:[;( A'JD<_!!5!
MVG,Q7#T[1GEK<,O+\=8F1I\?7Y3](,BYX6.XN32VQSGUNIK06U,.P!<F3CQ9
MOBBBY&_&_&3O_&N-'\?NBV&63QV_S,[ZO,RY=47(RE&&:KWZ>9!$:FD75)0!
MV[_#./K-^7[U WULJ"]6C_P%(YAX-' $=15/6^)6/AWC<U\$TE?\5"'NP;6S
M&S$XR]XW"PE"'H\T^&X2!*T<&IQ>N16B'S1SO@[2=NW)F]DJV6F:&O;NL)H3
MM\F?DF1B\+V^Z<V)/ ):\B.=^%CDPH+YSE:$V6G7(K&A9==VO=@;O(;7V ]_
M,Z+K47=*-QBF7@-D5R9H,33C(=]&%%#BA(+(3;V)^[4=3GO*P]&I836!1G3U
M3%J7O$&I?GL U#OWR<U?;]*26R*KWCD O/KH>I5:^$0S]U>7;##?UP^ $ZD[
ML#B7A6P62O)$/HQ6)A6,4BY9=46C.O+S(A44*K(::W!W7VUZ_ C%1@-KW5=N
M9!H-99S7XWYCO1JAHB1Q2MMKR:HKK,IP65RCSNI'I<WX*V?- 5;KV@[ \RG)
M0BV3QF\UANAYZ\N')E6QB2S 4']Z#Y;#T.#'[>X"K*$@2Q<N^1[_FI#)2A1Z
MKI#1(T>GR+I^F<#+;6:DL+TTKL);M%_2<^H%08,W_,Y2Y7ZVX<.>\V+&=0G<
M5H=E%+G!D*9CSP#U67PAW#SQFNA<A(R]_Z5Z[[F,MM=52A5%W)S;I:,JRL@8
MW6/+72Q4^E &[=N[H?D/@@7[U+Z4?7@I]G48*(XU$WKS*J;VJVLWX.N=52D;
M]R[J*5"$J&*<BW&U5-PN.0!BJI(+]==H.L62\4.ST^W5,UD)&E#SA>PUIM#]
M]R96E) V>R4C\BH8YGI!5^@SILFJ>;]9W2SR0'8!,8&RPI_JB<K67S-D$?(>
M^?6;OQ/\#2R6*M]LL'15L[,\).Z$?1&H-=S<=O(RJ-<BD$^R+Z]9ZY@_Y=>C
M(EBW1 ;*55H*OGT 3\%G/=\O+I4) _5]BU?X*MOP8H._$9UDT)131\XI.D/]
MM>[@80.Y]0=G.62)WAVO?>EQC;V=P;S,KN? _T'(['"A!?H/XPJS3>:\;0+-
M/GAQPJ WA,TCK2,(<ELXTY%[)QHHK#"<L9!V1 <NX^!;==C86T^/H'P)*<UF
MS[I&&T5'!Y?)0C;2:4BFK?=97):E_"NA"BMBN<WX0.WQ^/?OB.4' .,"[M-'
M& >N^JX&X<)T$9(Y$SVN=(5[,LF0<;1)_5WZ"=E&EY$%XR4^=G;/M)')@>HJ
M1NA/T5<<'8!76[[XGWNQ1;;;;K,5[' M+2608CVFGC='A*A,3R';LK=*OWT_
M (Q;]/$M$3H2(#N]0O?U]T6HTK,)<Y*[!<VWL;)"5824&9Y #'%C=<_/@#R%
M>AIH,4<^>;9KUW8X1(G;N0#CCM$]8^"?$+EWEK/FJ)$7L>+ANV:^7:W&AS2>
M-BV%E@R^FM-HX(%2=EBNW .Y]XG-J;C1Y(^Y+N55K-Q+BPQ1[8E*TT4H>E)R
MSC;C',VBIP;OY".T;?5-K;2/ @T[!&A$^MSR\?=9J<NOD$@@\9508P/NVEM7
MF)V\K3XQ3M-6J'^R#Q;BNWI=OC[W,M.#K\BCJF>%AE#D6[KB-FVO2-<4SUV/
M/IJT8$YFP1>Q$0PK4:IB0V7\QRQ%[?.!^UR38:_B/SXW<N1+G59J]'2N3_R:
M!\ 7536_&=[[&(_^$7P6G^@[D^UXS=^(-KUU7V_U5MO3^V*#I9^"6<>>G4X]
M/ _'G%:(2T!2]H6HCT(/FI=Z1N//N@L-R08U)AKXJ[<SFK]M5"Y]@<\*W6P(
M>U;AAV2*N8B??\IZ]QJF.&C*P7?]M5=%V]5!FD91.1 JC-)>M0M1"R#<?;;C
MOZ+5J2KF.-5<.[M_*BD*,MR@SN[K96WY9JP/EK+PQ<O::_,]DKG0+E$W)#3K
M[$;H%'RU>J%4R+/#W8@N+O"FG>3M \#75,F A!Z\47-KN9@LGD!\-M:'I1\M
MCL<(,HZQ4/&5EO8&E:CPO['"7I\R8.BIUW$H P5N7GV4/=>NKMM_)28G1MND
MA@/)N"SQQ4*CA%:A0AC'O]^OAIF//H^$9>]=LB7>51NB^N'/E+,)'PF^9RH]
M85#DT@T]HU?A+S;(5BP0BGEC$S?E2K?L>>Z'9P: Z5>Y\+:5,_'&LDZ;2'5W
M&*]8S6#5U*%3/D-;9IKF'[HL@.T:B\<&$NLB>8&8!2@CNM)#M'-Y<!A)0$52
MF25*7H,GXH.V!]$/GG=RLU 1<U_?^9!?ML^'J#+/>[XHID%$'D4<FQ"O?BXU
M_I@F<*G,]G/1XKU7I]U1)J3PLOT7*E3U!"OV,")B6;DZL2+X7A_M:D25I)K,
MN9?PXEI\F:O[%MT/RU&Y>''[ZS7Y;JJU4B#R^-XLW-<=RS0/.GGE]TK?$FWS
MKK8'?D59$:Y%29QSV/:/QF_?5M*N#_%8-Z(;XO):DLUSX/GA,OY [>A0\,C=
M4,56K+4&7Q#!=%I#ML/7_L:N?.3A\5#KKHXSXTCY@4:SP>OG%[J/R5"I5988
M^OFA'UR4K9MZ>7C\4_S"9)-Z:Q:4/&RH4!& +7+* "K'UL#QO,EU+G5T>\:!
M>[OGS[U[JCH>@VEOL*=^N[$$K;'@(&0 ^&6&JP%-!C>&OF<0Y_=XC\1=>S\X
MD*Z'_XYNN"E'5$L=RPT)L4<#?K91@><2-3N,O%#B32<6MAJI:1=W#&^\9;^>
M%(^9R9+%XQ]=?10T#T'A)?+G1B[GUW7X,[L0F"/K'W$]'7/,0;G9UJNE4'TA
M9>M:-CCS%)VFW\9V6-R/-&&H(94NNFH]'*G=1&6K>-QCOQEE7]I'>P \WE.H
M\2&D7?Q0\=U7B4_MXK;IQ)'7QQ82U93*?3CX4J@NZ;^QY+[-%7MC\U9I\A53
M63]R;^%'(7]Z8&TRNG[,,E4W$\4#.SF5*3_D5J.4G#Q10- :&48;2BJVX1I6
MZ7Q]+QU]X+JDP;:\=Y;;DMHH^,874G(;;G1\Y&1^P%&SJ=L,T>U8KR1/MS9W
M"P"/8G89^+HDI:D'5(O-+XO^<#MGQS\G9JM(BC14LJF-ISV/^<D'8(+'78H;
ME+6 A]YQ.+'L2O/T'H7RC.EF_O&@;.V[O2X H>4X_.FW14;J-_P9(_C.T,T\
M)A LUG4+?%G,J'_#^1%UO\_KHC-U8%,1Y(3A48'W6W3Z4XV7<C/M;H)CRAQ]
M_*S+91;=!%BU=U&<=YR8F6]OXDR(:%K&DF1\SBU$="[AJ(Y>XP.%#@>2&FG<
MMY.MEV!$AQEN(2RQ[^86%+DBIH<EM[0,_FO:R/X3Q(-HOY[-I*\:YZ<30K;<
M@"[#RO8T%?#$[$LV!M_CO5F[MHH@\V*_ML$;_1W\@)'#685#?71'"'*7^&)U
M54L_JW#;N<EZI<2NVX02]/%R:49<K23ON]R?$^.)5$MIQZ*0U^,QWB[\M5J0
M@3Q]X,Z7V\LSAQ!'4%G!_.:9 0MG(#S8?L-/QY=MY F:76SE_"Q4#?B! T!)
MQ2-YP>:)V,^P&K1O;YME;C'/393UD,,:<1:AA61F(>7[WVFY3%?<X18H-1A8
M?9/3'WMR^FSW;-V)T.RLIM#W;)H,ARUYS4*4CSWRI_=F,:()J U+/"]8?G^K
MGF]WXWX35\/:!2DCV1)IAVC@"LO:SVG#BU;8!":9@AV8Q2N7[S#H] &P?:AF
M($3-_W6UO)K$C<X'&"(JXIX6^BEU[7?88U\+[!?"8RD>-U2^J^#Q,23D-?+(
MPE,1!_X=DWDD,S<INW"YRID:8Q@QD+HVJ+I407KIQJTCS%L:@3^:9;WGO*K!
MA\]>Q"Y8,;>?'G<\2^G7GS\ ,*B!6G>H_<\+!T"#!A_5U*ZT)XZ=H^<TJG!/
M]M[KA>,22O1X9BJ+(WLZ\IS;2_/+<NJBW>Q]1C0]*>$7EZYH ;X'0,<5HX'2
M1P.E>V(OT M7B;)-!#ZJTU<]^F"2^+RDLD_-<1I\/T9KH5&P79GG1GR=#8-;
MA@.-#W&R4V.G;VX@F=A;TX1687JZO=VV6@MF2ZQY]M V&U4\[IW>D\.K-N/4
MX>$Z:$ O6MM(2RD:6&_A<[8+.'+8IK,QL^W:/=GY'&%._YV3[6RELJ&/I3L"
M=XNT[S7:TRIPST,6Q"#UG2<7<[/_A.<N$9%>PH-3[\G'82N_T]= X %0DDTJ
MN0-*X1\5!2A6#//>C0>_5S,EMVDD!T+D*O+6D(Y$U&%2$F*S25N&3EU.;$RV
M9J1 ?P*S7MTD:+U4=*1W500RH,;KG'M&CWZ#=9%*@P<F.<5]D2F3P9X$+T$>
M$BB>U#Q3<Z?K.LQ%V!K$Q^NK[08J8XOTW^UGN[TGCZ(:<6_F\J5QX2$>33KZ
M[TDP+WN,-0=1AFI5M?0+6<#EG?EG]_JF,Y9>EQ/T\>Y1\M=V&MJRI#48\#MM
M/<]TM?U0WM5/C \!/JCS)%<'&J2=&.9D&'4(+4LXE8V6LJ),%=4/V^-$U(5/
M,(:OV&A?.T%WG*_I 1#<_(P0E]N=]['+91LW.OF3+!5B#VTD5U%M"#T_ /CG
MU;^QRG;M!7PD+Q3)M&S3OB=_+UY1GYXP!!GGRQ[-)%NG/H$RQY_MB6[17[-E
M17QP,]PJ'0ZD V^]# 8V!LK;'FQ$$+>]\G&3O$X%3F5Q]1@G,SIP=YI=GNO+
MK?7U/CI+?.^UKTNG;-!+'T) ],SL<.KMDS=#, ^-(]%M!%YDYM44^Z+RT>+@
MQU=@=*!>N-=>*H#/*[D];8["[Z[VEX]AX.\# ^A&T+L^UQ,FZ#=1A\>?>%EZ
M]Y[2 DP(Z_9Z[OE^DN$LZD\$A7<Q2\'*L1_SSX,XCLQ7:VEXG!\T]3M"XYKO
MGA&+X1)MU_5P5X\/5+W_T W(M!<6Y1]F1Q;^&\/U*T%]\\\$]5Z,=! CX%?3
MQMP(0F(?"B06:PW^-^EJC:--H.$ZV_)-=LT]*D?:=P*,!]UWL,.P%L(/^=V(
MYCNU;^75U)_9JZMO()G=24'W!/KZCO?0^/#;O=Z3=-]TE3+A+?4)H5]O>>+S
M&,[SJ ^6"Q.?%C.L^MK"V9H!K#%'&K,0Y%.S(IHC04>;NAX9:OES0L%;Y7;I
M?.WI$Y</@TAG\H3>#Z?!EEQLSU>EPBBJI6K]+5MNFZ@JY;#>,P:^O2%EW;-O
MQ%[WG 9%S 9:8UX5Q<[+AG[7<6-P\'-E7!"-!?*0H.S+TM%SFR>$E*('"NHC
MK;B &94S^9F</Y0]DJWOO.]HC-Q/UF.LOZQW/;JT9)PA0/&(>JL3Y-V>Y7TW
MV9';/<$N1'>JA?<@N,:F]69.<NK3"7H'M(27'^)Z$.N#9/R>8VITWKE[X-G+
M>>KX?.K/;M.\<8';T]R7G(L_\G/,-L<GR0M"%FS$")*&:_T_J$.4>B.V=HDI
MQO!^.GV";41ZV"4>!VQ5H4B+/D!(B'VP[5;06-(11_P0F@4?#)9S%(M>;P%&
M92<*J#C;C.AJ?:'ZQT8[?\#[,  /_:<^5S:&PYU2'? ^*IL@PO$W3@> /I%K
MO27J "#,3X^&J 6]#1N'E[W:W2 B'E<1V+*/BXTV"K?*:2..?4S*SFI.ZT,>
M6^BG?,4M)/UY$98JJA[?M':KFQ_70'@<N(_@')3-';^P0<00-:_<I"*BLM1.
MC7(']"U*@1)?ZROGKGPQ?'W(K./GA%:#FC_L#'[MIWSD=TV_=^6KQS_^6'!K
M&PA1T>G:FEVU-&]S%+<N;'LI_RE*6O*ZC7U)I34IX_RU8/\MQ)%1A@".'JE4
M)-/S8Z+$0KNT:""_Z-V9ZCL=OLP),H.TQ;./8KEV!+2^/4,)D>(*(2Q/J09"
MA$DF?G.=)HI=K(OH*<1A=Y72XJ0$PG&;']SN&D%.D,>D@K% M:[1YH=OGGVS
M]N/?D"4*=[PX %J5OA)EUWO#^9T;+W)EA8/^.3MBU#?48#N]J((D$/_X=:.4
MBWB9$55"BMD^P!)&RS/0KW'T>-'\V0V>@<.);\H&2[6Y.5FH2C14X?&$CMQN
MNZ^\I5XN18;7;P;SOQ1^$WP B -^T,?2T-BCP7&VFI+C4/WMU58=/I5;ZDV_
M?P*/M\BJM@LV1Z;?,M70[7NQKL(H<P7.&Q[*\P*>B,!>U. ;F[H#N5A] 'B9
M8>Q]+<D:;),KT2-(ZCI#3EL_KJM+V5,5%8V].-G^*\[V=&"@+(-OI#,>=K#O
MX0-U5:?ZV,U.J5AZ BK<)]B56-:F+H7RBI/31/H@&2 <184:_4G124K&KS\@
MF8^3$@J#]_,9!LKWH+47] 1.]F5,D!XYG'[]G- 'X\1'S/W<"5OL(L4! 6T\
M9]4>-V;B;(J;/WYGM"GJK<<\0_@T!Q/&!Z\4?V0+Z*--:&N2__)4,7H+Y1%Q
M_HT(!.W7VQ; 7V\GQ8/-9ZX7 =X5S<99"'$L&P_P@1$Y-^[N4\W/(K86Z^Y
MITE'7^C^XM9JU#"#4-IR_'UXVYX@>^JT+FR_!-AI'B2K"E"*KRB+_[_*&?YI
M8==_!T'B*9F&C\&I/_BH9K<]?U4QV#^,O,.'F2'3;LO20)>-Z/I^;\!8M7!-
MP'[YZF\LF+)P  RI4U0$I[K@2DCNA-M/#79F^$L)U$D^.8'#&99K35G?&S,7
M&8\&MB9KM!ZMT]O6:.U/V1BK&(V!HK:DKV+<#LT&[:[9;N!E^_LH-5)*OU[^
MB<,+Y@3?XIBDEHTR9@YXYVR;V\^^0Y/,<YVON" 339FV01DL<>1N7_FVNACX
M\7WX>*#> 2#PLV7%B*YW(/DACJ97X6ES!)Y(+2[*I![1C!@46)?]=@ ,ZN\(
MZW ,GH+^[*/YJ]QX.I@?\>'TOMC;"DD<9V=B< K5#S)S&/2X8 "V3PI18IOO
MRQ[*Y#VT@VWN^*M.6:$E2A>J)SC:V/8>5=E^.&MCT4;] $C4VX$EDRZ#&.QJ
M]BK(KW[*W?>SCS'O\&3KKTP= ,;9^M_W$!0 %"0"Z0UFLWRB<DD*=-O!<3[\
MK%.3],E</[OV2[;T?Y7W3*GX\2W=9$9[J#-HRXY$[MX8)WV_.V"X!8\@V1X
MI[8/@ DDLYM[;7#J]Y9CCN(EC<$;JY);S /-@82IWBCS@#XZ9WS/4%",C]@0
MRVV-"LA4F>^@.CV1_M?#2Q'0YVY:H(DW;^[%17WS<=D1NO,M#/8H4#?A;F,Y
M&0/XNS^JZ.[(H/87]\;^K@!M7)]ZT;!,6+:)_ 7A$/5.D+DF(T0'3'(7LVQS
M OQ\XWVQ3N\;!T!TK@D9$R#_NQX-J,1IC^5^"2J=FT]>ML"O/A&;5#$?\V((
M)7]$,>#K@PHM/!=.(9D#^FX?7[@/PEX+M.%5Z^KCS"YU&C2GEJY<?[-=!'E"
M^(',Z-'NTD*)XD]',!_3!YW!,M^YF."74B!P;K1MA=>T5R):-* 71]1V^8-*
MWP6ZC.U9?%RUV2I$?% )$GL7:-T;]X&R^J$*>V?6JJKB,=H0C/GD*^ZS\)F\
M["WJJ7$XVS^OX%'H->31\F!U:4./95O5Q6-1@:YN='M$,IIXK4+Z[J3^]JXE
M!Z&C9=\+R9SC]>\AV,7\ ^"#'/,6C:$'R)PU"G/>-1J"T_01G-Z;>,F]1[ %
MFRNXY+A?J$SEL&>N, AET05C!?H@9\;O:B5;7<V>1@42N._U%ZC_Q'[9*2>0
M1X15^4+4(O!#^(Z"2^O,#9:11C&[K8WPJP1IK3M<J_.J+@.^Y;'/)G?ZZ,H1
M3EH)C6>3;2_WO?XF]G&RX][IS@-@&!Q56$Z&>LM.'RU[>WKLHL=YP8B*U:GE
MJ;0)F=Z+-HK3C*;CMAT@.MA0CSAGH4!.H?I&RF!6>U<!@O?UXNTTOM/?J "N
M';L=9J43S1B<FGQ_8&;Z"TE]8"%0'"560A>,F7_M(J7'-16IOYULB'5XF^Z&
M.P]OZMLS'UBF.0 L@,V45-N<8K',/N]3#V@M9?M#DS08_CISXF%[PC;;W1VN
MG_!X4A*HO[^J^USQ;:O0K=)QY.]$9W8$U)<"_Y=_%>U")-6G!\!0P5<MU:4R
M\-*SXWNVPTVX5;+J&="\8J/FA<D2YR97$>![EW0OGP_G2U45V.\GYB.IBURJ
M<7!%S_U!V")#[Z_*9@VHTL+B;=(C$=M56)^2"5N5<9!86]770]G'9D$LWH3K
M41<%5(L@W<V"$\^FG_+[#PNW!DB=::_0\31K%JK9,:'/G!*X]2%H'C+<[X-D
M6?RCOKF.F7L\$\[V?A&-Q4((O-5?R2Q4/[+8$I:#Q>^J_"B=MU8[Q?BVB(BB
MP[-8-NHU3#3MTWZ-' @YO:3!,J3(L@-<O0_O)@N/)/R,"(3E81D)X@^=7(E(
M9EE2D.(5TG2O_PZUY 88%KUH9-KU_HK=+]FYP+QQA,A"-0WE3)&RF"6?,'_B
M;9(T4:\>6[A5I.I2TZH@9[/29:+!-W7(3N1Q=!KE;!IE4@PY)Q+M?\9OLMUP
M0V=!@\_O.S?_SDPDM,-FVR7+^FT1BI/DSK9\%Q35L1OW0XP@R?E*2=HT4@G=
M&H?:I,YOL.)L65PUP^\]1+DFK\ 2]V &U9^<J"?;8BHWG7)[]9<;K79E])C1
M?BUMCMO3K/-J"JY9?"F[1G017[LVLX]W^N]M$.72#T>W\B"\8+UD=EME"S.B
M_X[01T1?+CB-1C0Y VG/NJA?-(E0&7C8*%:><#:I5H]HL)AKM&3;YT)L.4':
M R'W7;W]V M[X//6JELCK_RCMS^W3=9AN<GUL'ZNBSV9QS>13,JXHM[(L7EX
MAPJ#?4N[5+7"N V68'0 M#]J3IU39_IY:5)'0KF/KMF\7: ZEGDE&GTUS(Z%
M;V@'$%6\8YY^SL,8IHHKU[CI_*/-/AKPJ2R]G.8:R=GA]ZU^R:^0<:*N^TH'
M2OI9Z,96V7N?E?PB2)V!5[IM1I6[[)V DVEDKG7=U>R'-BFV<+=$UO'1$$F2
MG*%TUSV=K=+Y_-W0!5N9/?G$7ESO^2U9XMO]]T3D84G$-(:<N@YZ51+6E7
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
M=W$"DF^@'&1SJ6MR92XZ=[EBW>AWS59WH 2GFB6CRG!9^V$1.9XM4Y H)B1
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
MY"=7^M(R>,7?UPXR[0E_-U14)6A3SM72+[URRA[TI(VS7S>JM.)Q W/_'';
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
M5X/YCH "=5U@_C*7I%SBY8J5P5D$0_?!3<&]X0\]QTZ;BP?'WM"3O1I#?M0
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
MB+$53\&E>W%<>+*9+3L>@ AH8JT>%)8208UZ'QF>(>(_HV5MZ5KV*O5#^17
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
MXPYW6_3C2&07@/3G3K90F\G]+[WT^2U4I+D%J/V$K7Y*4SSYOLZTL+.$\O4
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
M]AXLOH& ;N?JVE)-YR *CGNM[CKF?_(9T:JB7=:^XI]'+M"O_P-02P,$%
M  @ /8FN6.9W4V W7P  =C$% !4   !T86-T+3(P,C0P,S,Q7VQA8BYX;6SM
MO7UOW#C6)_K_!>YWX.8^P"1 I;N=[GGIV6>TJ-A.C[%.[(W=,SL;+ 9RB;;U
MM$JLD52./9_^DA2EDBB^BJ0D)P%F.B[QO%#B[QP>OAW^Y_]XW&;@ 19EBO*_
MO#CZ[H<7 .8;E*3YW5]>[,O7<;E)TQ?_(_I__Y___&^O7_\"<UC$%4S S1-X
M6Z X*=+D#H++CQ>W:0;!FY^^^_&[H^]^_^;-3YWBUZ\)>Y;FO_V9_.<F+B'
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
M5C_\0/\_#)_^.SCZ:?7#CS^O_OC3SW0RBOS\X<?5'W[_8[]C60'\-SEUES[
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
M:4+FJ-,'2(_[U482;^$)VL9ISD=EAN1-O*8E=PT8#.OC'$7H]2A#"QU[U*4
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
M#SP@)2?V9M[F:HL2-+X%N0VOAMR]7:]+ Z?7\,E6J0^$LN"IF5#JTH.& >"
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
MK98 &A$K4 L!C915YX(C@ 6!@Z1OYG.G2H4ZKPTM*IO590%)6A":CFNX.F5
M+,U$U2?VGF=*5!=/J5RTRNQ21?68(_9K63DT3=I9F=%)@8S#LI6"1YV-:4(H
M^4X)::!J/)H.B1GK'-LO&S*2L!4T2+O^\B"FSG;H!6<S>NGA$4C9+7Y:PO[-
M4T)"/[=/*>K@G%1?I<'@%BH1H^XX\&*F/@V:>'A/E1X0S%CD](+[JDS0,\M.
M HEUZ,@D^PB\689.O^_584.KD+(-MP\LQ@JT3:E8#E9;@(Q:M0X\,_I)5J%?
M"NRX8'*R+XA5TCL2Z,4(XDL5WJ'B%J:8GK<0#Z(:*W(2Y6II'M[#T]C!L2I*
MPW41;9B>BN3=&:2HFMGV?8 4^04+YT,<)/;\S'.U(;^;GCQ4))09==-9E8 )
M60'*:G 94BOGFT4)H;,\LYIQ%$A2X<?E/=EK4]+[D/.$'9[*[VBN?$G8:\W'
MOKH%GZ.KL:ZAEX4P&ZTJ_V$N!P?4NUU&;3_.0-DY&Y*C_#6]\SQMI"SGKG-[
M_""'INV;O#%[U[X7"%RO':*U5B_H95T=HP=G!Z#F"6A9 .59S#AQ&NPJ^JRP
M )XSQ7%[[NHT+G*R1(\[T28I9+K!53Y)LSW)UVQV:G:4E,$A6DLIWDXSCJJ]
MYR.VMG4P.^9H)S5JR,$.%G7\NY03C>, )CS@Z(+5)I8=)TQ\\O%9H#[0D=Y1
M=0@ ?<&!W]86+AM;6-%4:AO:93(I"SX#/)?%&)T0GMILYL]LS*VZ/-7_U>0P
M-F3J9RO6,OG)2VQ8-S\)1$U5&B0<U@DY)*@Y4"XBG; I&(:)@^U@Q(S5C%>0
M#'@9^/.;ZM-*I3L(FY2>0R0N=U]\:)2JTG4&@NJ<TX7P<Z=R!<KQGYLZP9))
M_S&6O9D\M&9WG8H965_GR1A[O<KI&%MQT4=(MI%F3_3^-AQ/=C>O]/AGGHD9
MBR?DWL;<E(REE-[,C"NLITG#2.ZE),L7!;R'>9D^P,Y=O*B Z5U>Y\C!-2WB
MO"13S30U&_V5U8G:DO_:EW2O\@=87=Q>QX^<X855TB1J#*3$-7-CT'?W$O &
MJZ(RP6,8I1'C!1O&#*H#/8A;!IK<F$0[5?PX<Q+(L,:!IH(BER8RB*Y>WLBO
MR=Z]#C#"5G%ZHV<#&"H<]*2WR:2)@E=T$P5U#HT2T-%"9]HZ>L"ZXRP^U,[B
M^INS\(CC+\-CS#AN(SDFSO*R*O:D0G28>85?+DXN\K_%14HF)3_&%3SB7)4M
M6R>]B1F;AX0G-O7SD0+%4)\N*8J1&#;54M)"<H3Y@16# I?/GR[%"AMH?+L-
M4ZJ8</-)5D9!<A+S[%9A_9CR9R1EQ>RS#(L=S4JFS]5\!')59C(@CYHG@#P"
MG\C#F:<7I4V#])^SCVJ>JHM>;0M/CM(3M(U3_GII.8$ J0V!1ZSV=?I$:RO9
M%*^,@4=L_7A!F.6:28):86,*<%O3R9 K:?%)L'M9I%M:B?=P>P,+#DR24O:B
M@U)'R$JTN>)U*%8%5IXZH@\83.MG,\-4UBA(^R7[ .6(NNC4M>PDT'P'$UC$
MV;M]GI2GM[>0;-&%5Y_CG12N%ASL4QAQ.,+:HE9>)B/-]*ELP$1"Q(@ I5J2
M?=B@ (UJIKX=&3!V;6LAD/,Z'V:ASQ%W;*8*4S+@M70U!"\>8)&G=_?D%K0$
M/@+"_76 4S$QY!^ALT[9W,*B@$F;8G]=EK JA_=>Z@G;:1DYH?-$C*X.7ER^
M4HUZQD7*&#5E9($'Q/3YW#,KV@9%-I^>GSV1T??G2V; BE=?K5<S#C#,,[>H
M80L'9 :YIEG Q9.^$*3PM:XPFM&S7I-$//OBB1[9).G34"X,L[5T[(LHZ!Q-
M15L#5R-1*5"9AYPO:HKJD[4+"4?T38DLOGK?$J3D74,PQ\A<)E ?-]>;0)].
M;@(-G7\3Z-<@@ FT"BQ-@/$=3*!.?O$RS4%)BUXMS@JXUE1;@;#IY5; $ABH
MK4 "DVE"[+2,[^X*DF^%7AOZD20DVDMO=C"C;H)M';5K%&56&^<H2JM&&45I
MN*,^ =DX4=0DBSGL:]KJR+IIN'A*S=0+JBRA-:<M*0_J6O&H[<KS<42KFOD9
MVAIJ'&%N_'':H=$QPD5:FOY$X!@8J:U.?M!O0?#S.UJVT>B,P68,+0/BXLZO
MAL6F:I@=!*!S3FLJZF?1/5CT"D&M<0K[<[ XO8TMV+!L[<G>@DP-9U&F<I[F
MD"9L,3.7 ;G:9#KD8<QF4)] IM/5,\)\#NPJ$R)4=7:B9=K1L/'UMB0#C-J>
M6BX#FY)C;!*[8K7X",EVI#I1WRTJMC'^N!<W65I7E@.U%0_[8(8\CF9F53,O
M0Q53C2JK,Y,1M>4D]4]# %!+,?-*G1TJT,A&Z]N?$6O7"!<$0Z]#%BN-SEAD
M0Q9&NP('9';(P8%^!=9;<J3W2P:H8MP2!J4SCEN.44YGU_Z>5O?'^[)"6UC0
MQ<P/L*K/ O'SQ18<[-L9<3C:J46MO'069OI4YFDB(?HUOTFS#":@@!N8/I"@
MO5RQH[TSVZ -#M"HANJ;G@%CU_ 6 CJO78.%/D?DL6ZAH:1I[4%#NZIWA*Q
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
M-N7/&Q_&1XG,0;*8DZ_-=EJVF[;9,TNFEK'SW\!!6INQ[$*?:L+NU9K,ZQO
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
MWZM,S/M4Z:?[R5T32T0 FKC+P?JE=1,3S_,M66^T!60,+2:H=,4C<-?H2G&
MIN?QL7YQ??!D639)EDV.7;;X",;FV]E@OSWOO>IA36-*50D613R5"75UX.'E
MK'B1X@>4YB^+."B3CY%I_P-=L/>G/!#29GR4D3H("PW95.B0LS*?!S^B]!XS
M3[D<>2 M,R<FFR+E[VVTV>;S]8\,%3I@QU0(;3V\RFD=A(N.="J\*'B9SZKS
MWLL_QX7+-XQ73U',1K&Q/U=J.OSLH+T%;5:9]E#,RXGS1=7.)L=X*6%_9% 3
M5@J3$3IH=K!<*B#(&)E/J6UW\&LB<;*)[F/4B'/Y',9[>F(CZ/PZ19KM%$@1
M!]%C(*L*1S"6YI-W!^88AT7G#4Y"U7J]3]-?LK=I'(0)1!KE'(+/PWJR*?/5
MNM#X"DUY8?*!UA8:VB!81KQ</Z:UN3;F6M9A>QI9<4C^*">V6K2" K#B:+VK
M,PCK@R8]WXB91<%]%!/94':6K(HPF,[+&()#?MUB]:4^<#'+NI"'.*@)^_(Z
M$>PPHS&O\_4Y 68D.(26D312\4BLN0* -3!(KJX;$+,M+F]RV9F[ -N+JOH8
M?1&\T#-T>8 "GX@)36")',<'2#8=A(@8>AF20(1)]Z29/8G[")'3'4 BHG,?
M)R )-:$BXNEE=$-W;[D6ZX4/&1@Q=\^^3^PX>+1DU4&0BK&7&\'UF\E_B_+M
M^3[+\0ZE"C#I%*D#,T%%' >6@=PZ\(*Q]S)*0SFD*3V]AX/8J*.79-CR-9!#
M>WG+U2EHMP%:%5_3GN\^2/V*<"]6LQ3$SSNQ<VN".C-=F$,07)^7RQS!-$I\
M) 2EET]?O46?KOSFN /4Y&_(2G&.UM*&_ A22M@^AQ00^H4PJ,0#H"6IPLMU
M$P1)$)6> GZFA8X<-2:Q-9;/15L"B0$CAHF_X)@"$M,L@XXU,]_MHKQXNYS>
MS"2S/C+VHB3L P- V<S )91> 0<N\Y"9MJ0.+T-LP*?+X/-DUTZ06\DDN/?&
M!9];_:/[V6)X!;0;2.1APRI4:.^R\O@L=;4J@D6">!%$J^OD/'B(B#=OB<B>
MFH$+U,=G@ *.8T=;9ATT09A[N4%QB_(@2M#J,D@3,AQD9V&XW^UCFMKE JVC
M,&)=*;Q I69( <>AI2VS#K0@S+T\M&T)4JR(:<ZL%&U1DD6/J+Q!,,,9C?V>
MKY?!<__@WZ3T(1Q K[3C"!RF#2U/IUN3ESL:RQ0%V3Y]$<ZLQ 1-HO(^@>,@
M4LJD@Q,>,X-MBB\E%!*TH8BS.,?J2ZM<0RC7#LXC0BF3#B)XS/Z Q[;@M:;Y
M2EY6A?6WN:<(&A=O'4K)@4'BG@%,4_I1=AX%%?W![GP87E(PNPT"KVRDA:>3
M*447A?&V*(_"('[-+_J:7_0/GU_T+([Q$^T@5SB]P/O[?+V/^SD+!='T)F5K
M%>B5=3C+U  E0+-0Z54Q<JB=0W=)'4M097TCO[VW1YI.W#R5G?P]1H6UDM79
MCKX4],_B=V$*)O%>V2AL^YMH ]FZB,]I=*:$]&C5FL_Z;/<",L.)<C2+'FDB
MF6XBD)9ZVFI@\&[.H+*2"0,',3Q8#RJTFE0P1=2DPVO"USP KWD 7N-46@?A
M9,4^3PNHKXIC@05*BW=0Q*$KJA+]:!9Q"<<WW/6E-HQY$7/WTIOT'M4YV^=;
MG$;_/.PW]7$EHNSCJ4_I#XX44AKBI\_5R_"6GD376;978Z9+)<)+3>4;5KC2
M#<))S='+.!6-A]$TW@IS]#$T0\A WT33Q WO:32/ TDJ^0K19/$D/#I>6$F7
MSG',0"4T#C+I\APY-X#C9[YN!!5XN$']>L3KXA%OHZ!LOJXNXI*O-HYWRXC&
MICV"=;F"JLGP+*"R$]C]B)(]NB*]@'?%ODFW3#>;R/]6_0C< 1R:T&\##M9<
MA<K(> R5=!V%H,HR+-R@*G,_;3]C]CG.B+^LQ.[-NSG?FHEVYYO+\)&) 08&
MP\3+9?FW%&?9(L7KWO42SI?Z88WV%Y>M+!8!;.,.BP$'*I;O_#8Y-BZ?'^@<
M0!1&I*1CLYWTZ>P,L1DBB*$OS5Z0[ACCXF2V:EMO, 70-L.FE-8:]M5FPGJ"
M=ON#D'TY'$K9>KFI?8?BF([@R>I[D/Z.6J*SQT)*POI82$+H-FS (FI@1L;3
MSV$3)43<F,:(K'91$E%1\^@1\5$#I*Z'5Q6UV_C1$U8#1$K&7NYY]T16C<BJ
MD=AU?*@$TD $AY7YUK43]R  DUKH% T\Q94P]/(@H)'G<$=6U*?Z%&RO:E-X
M@0JA2/IX:+/R-^_5#4YP5Z(*YX(E$)B^TBN WM)3>HA8/.\TJ=W6_J.+.D4.
M3^D!BECK.'!;8B/QNWU*65OUX!Z@%G\#ZXM4!4)-L(X81-Q.?"DA]@-E6B(;
MX$O%W\OE%A1/4+UZCZ() :3&SJC[GVY-HW0'?_"D"L!X0(8&Z\_VUA/%^I L
M2O9$T,.!\E>TQBEJ'BM&V>4SD9I('"5!^G)-]%5D6:7':[C8*JJ'2>[Q[Z0U
M=8Z0)ZK)Y2YP/!6#.\^D33+/MVE[9=.(6[F2KRA!_7,\!54'[APJ]Z&J$DT3
M9AQV7F9R(>L(X08(]UL]-^I^<]G^,C'@(W.7R12)5(YC\#IM87W!1+"_H2*K
M]"<F<T&VKT$6A0K!.C0"J2H::R!7&@/#Y.JB7<25PEW S<MC6U:6BRC>Y[T[
M)0HJ 3(:*J^PP9?-'!T-ORGNN+LUF #](GA<$?.K=/G%Q]A KOLH]IPNHBR,
M<;9/A<%%1F5ECEM<UH9J_H:BS99>PB=6"C;H9K^[1^E\W;M?PQN[C,I6JM$L
MZXP_@YD?#U..W/5)FT [L6;57HZB ADKUZ^ZB&=86HY=<>F302]00=/@5USY
MR,<#;@_Q.@.0\;BOJ*16^%"?X>*%HD[&<KJ\+M5F.7EDV8CBX9U>0G5U'DF=
MTOV4DK#2K]M%@ZX7:IE(:QM)LQ+Q]I)?,P39\P-7."5C3%*F!@Q?EI6K*!.H
M%?^*2_.O_F>?%6]>"9Z9F+:2=@S!!)7X"/NC*'QP_YFJE?XF[>,H0]"E )2'
M'!EB2A_!#1=],$*E58T9,N'D%"_(ME<Q?K)R9;QEK*8=ZAF<D+0_7>.06IJ;
MT98L4OP8$0-^??F1T3203:#N&?%YCV7R D%,JS&#PRQ/F\'K+-8@",S<4%H3
M6?UZ3F4N>Y@+9$M\BT*<A%&,.I(M\;#>-F45S2N14U1AY>IEM4>"BF&6C#4!
M)\VPG*CVVP(B>^F"I\0!!FJEV^^G:%)QP5/0%"]=1#L=.),%G,$E@+(R@Y3R
M9!$*U\]Q8"IMCY>1\1=5.V&Q@$#J!K,*ZA/&K8Z>CH5=19N\O/XLWL+Y%D0)
M5=:/)$5!S,DO;%*T?G5 J^C)PGR !H^#>;T&&MQ6=N;14Z(HFF$37:#RSY9J
MJA?.Q0GQ- L>(K[!!=W02/_=)J4NQ$6$6N 5L7FHK6M=;*2'WO$VL-HJ;AY0
MG<%2P.7>28\E#N*Q>TWP N+>V"O@/0H5.A@7@_W*#";X#B/P.GDDRL)I!  ?
MAU:(NPZM]Y 32SXNVCKU&,S$'0;:(D4/0;0JKM4ID<8C%D*M2^P]UB2RCPNV
M;D4G-NVE;ONP+"@>X((-KH)"\@&V5\A[% )T,<% VZO0(&&0PZBL)[2+X$5K
MW<'0*Q<=#;WW,)1K8)KE1E.7UZD4^L*E>]+ZS@L%W3[7^@9!I@$[&7"UV)T"
MKLWU-SKLM9IBGNG =FS_U!NAQIMHQ]D&U6F>OZ_Q#(M].4+0Q1@A--,TT\NC
M2[@"C:/9C*/8O.T&QKH9*3X,7+GGN<1 \:1:]M!]SZI7K9X%>L[#KQ@=@:!T
M&RX;$A(+8"!W)E(&-C1%%D75<',6_F,?I8BTF, A?UG$09*3&2-]X:QXPX'1
MD'[!2C,Z!5USLQ#[XP&Z ;E922-H)]>IW.=3-[AVC/NV<9_V%KG&NAD#N3J5
M#[B@=0(3!/@X-,H$05K=*:TNJE= S2<(  9R9R)E8'."<(MBZO"7>!D\TP<.
MZ0.HI)E7. 7%Z ]EPTP>]-FXYI A2,&CZ0WDGB5-:D\L])MR@M,,CJZ,/82Q
M9_ 6U<:Z&0/'.I7_L:<9\-%LE&F&M#HOX]<OUVL4$BU</H?;(-F@6Z*7>4)E
MI_^G"[''("Y]*I$S"HFKHQ_((JW[0XN2\3(3UE#GUINB!N=[Q/1ZU>LRD[3'
MRP>\!LF\0&F$5_T3L^J1[K9V2XTSW<U.Y74:CB-7[GPGM6H-O?Y[[*;Z^R+;
MF*/CF/[ZU$<\>V/;.*.803C70]&O2//2_!7P>?;;IU?(#]"6#= ;1&N5H+],
MK&ZJX"0D$AWVE9-5L_@KGN,1[;KJECN\Z 8M9\<#%&%:Q97M5933%+!D<*?7
M6E=?]_D-SO^.\D40L5><=8LUO1I:S.9K=YIVQL;J8+:4H#67?1A:XQ0O=CKH
M4$W[I^;V$;P6\[>9^GIW,L%>,?$GJ"NVWNE./&DV'2CR%\LI]^YR'/[>:9 Z
M]YZZ3#\)GZR,E8Q5==.6G*L@_(^L4$O>)8\CM[Y4)3W&P0F%VMESQ,XU0;2L
M;'Q:2XE2=S@IX/,=T<3W[.@J^GY(BLI^M^^?I:; :J$$CIC'MDINRK+S,E[P
M;$6&;R)R$-/A^CJI!G8N+D"T32(^*:W[>-$15A,["M9>AI7<HCR($K2J7WG@
M DA.5"E31.0^9$#B:6)%Q-/+0\$EW;W=IR^%VRP]*!<G2KI*EQ(Z]]$"%5(3
M,!*V7AYZG87A?K<OXFY$*>_Y@Y5NN7K@@I=S'V.F2M =T.#5F)_../#&7U?\
M"[PCKIF-2I#1U'$%?!KWX0013A,Z I;F)QNV;VL*%KI8;]4HT&+!L\@K+.?E
MY5*DD6E&)CS%;I9HV=TC8-?:+0(WDA7T]VIN<1Q?X?0I2-G-;</2PE0$BM)V
M3,TVJ6=J$4%CZCZ!0SD48!;# $%5J1&D-96NHE^#N7]PX^"XD.DZR_9H=;%/
MR;JHC!/Y:Q#OT>'HL* ZHWHHWITA.EFC\JR"A[81V+6Q.8B=MT@>3XGCX'Y0
M>_Q]"JN334&PW52<F]RS5Q9N$=%E%N7H#J6/48A*I=&$#)NDX%+HK[<Q>)SJ
M>(]\3%*=C_WOR$88W#^G;^^ 5 J6^V^AO&]ID.0<Y\572N6Y>MG@QV#5'M>,
M6?G8IT94WCCCF7%;?$Z&Z?OC90, "'^YS !1_&?+QLJ0]?H$[Q_\"=X!L+?P
M!*]!_YGX"5X/LW0:[.OT@HE/=V='$3<][M[.Z/'1-O;0^QN]W*24.ONC@IWU
MIB9^7DE%#9[NMQ.96HXI6Q0&V:(\"H/X(LK"&&=T)T08OFA8OMW1]<H[M-=8
MS+BSXN/\H6C^Y3-*PRCCK\",&,CW$Z4,+/9=4U2(]Q#AJF)[MV9;)/N&TC9,
M$>1^Q&=F,[KI0IR968*;(2S:3]1JL_ 4X\/5-0;*C5HQQ8ZX,_.*H>,99&9A
M4,>IZ%P<#]&WAF801(O!R,&S=FX: 6Z#8*%F%?>*Q+P[*ET:/T['4Z>%"T3$
M>T79?+UH\;5Q+VB>;H*D>DKY<)6IW 9HMVV^KBYR!?'AEI-@XCTJSWKW:1R>
M-J8P7_<9Z?]9=H&R,(T>JD9S[+\D./I*VO [HT]S!I7R3!A8\S/CH@>/H+ZN
MKQJE?=27F;1KS(F\!:=W%VV2:$VF$DE>O?U#UR]$@R'-Z68G>IMIA<"GJ0D/
M\=E"0BO>IX\G@C*I(81^: 16M4<:Q,K>>S9J%.!1]=1U/>+J"W\RJ%I_9U*W
MZ!$E>V3#?5157Q%PD*&@L 1=J)[OLQSO4"KP)9JEFGMGP%)VKM=)&R?R*+K%
M8*IPP5/HVA@;*Z/K(H#UEE?WH/5Y/NMHO_%K)=J^K/[EL'TB< P RB:*7D)I
MYTI!KT&B3@\A%8OI0N>&V EK"<J>M KYE\=_,KZ>=]:O.$WQ$[U*;*.O7J#[
M7-E-Y425145$-CIGMRVB?JF@XLKE0F]4F -#)>OV03Y7VOV$W#SO>?45_@4J
MSU=L]#^V#8(>J"*K+[(*R:Q<SV5:(^J'2CJ!="[T1:5A,%R^;G\4<2XNZ8HY
M>MXG9S2\Q\I(6-8LZ'_\CY7=V(\V^MH,91E"A^>4BR:).AR,N)%.3FRMZPEL
M@C7EZ_:Z+E/:UU3,/.]P983L,GBVM5:LJ@>L%964AQO78DI+U\_9!HG7BFI2
ML9@N=$N(G;"6H+VH7!'_*E14PM?SSGJWO\_0/_:$YR5=$5OIL6P;1,&H"K(Z
MT$Q(9B7XCFF-J)<JZ032N= _E8;!</F8H!8!YR*.1<S1\SYYG601$6"9!C16
M[RQ-:1K<W1B],T/A^PU^_(#"507><'7 +/G';[VZ9X),+6K"9E 1$P[MD6IY
M;O<Q^OC3_9\^DHK/5O@A1ZNK.-BPARARJOK,1$1E<614&@%#I6/'1!'GXMQ#
MQ-&-*&DU+&YP D.&FO"0A=]7?(!EU(&(C*D;63?TG,<RW26YRG?TB3BNHTWD
M.#) LIDZCC9#-_(X:/L-(2B4='ROX1$TH!(.\!D<@!@D-G5B2L<)++(9L_<:
MLCRYBBN+,P%C+^5_%>&!P$+=0$!EH1,*1S91TU0AR,"VN#$S-D'RCPS-UY=9
M'NV(_.PRD/^Q4CG[\700*!5[(J2Q=8XYBW8MD/TUH'W:;$M/K2:E."%_#4O
M048IT^)-SB;=XHX'JP_4ATZ NGY5W@>E%]<4K3B"U]#T.O@MRH+-)J59XHJ!
MJFT982B<3IDZ, Y6QJ>(=!,U&(>C ROS=RK*54"6H9S,I691<!_%4?XBA>4
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
M$@](U1?ZGWLR@OS'_P)02P$"% ,4    "  ]B:Y82'MIT88+ 0!^8 T $@
M            @ $     968R,# R-S X,E\Q,'$N:'1M4$L! A0#%     @
M/8FN6$+3+QR/"0  +C8  !4              ( !M@L! &5F,C P,C<P.#)?
M97@S,2TQ+FAT;5!+ 0(4 Q0    ( #V)KE@]LINIHPD  %LV   5
M      "  7@5 0!E9C(P,#(W,#@R7V5X,S$M,BYH=&U02P$"% ,4    "  ]
MB:Y8X-:(U((%  "L&P  %0              @ %.'P$ 968R,# R-S X,E]E
M>#,R+3$N:'1M4$L! A0#%     @ /8FN6#,$B\!+<0$ .+@!  L
M     ( ! R4! &EM86=E,#$N:G!G4$L! A0#%     @ /8FN6*MNP#\J"@
M75\  !$              ( !=Y8" '1A8W0M,C R-# S,S$N>'-D4$L! A0#
M%     @ /8FN6 "OG%EH#@  ^<(  !4              ( !T* " '1A8W0M
M,C R-# S,S%?8V%L+GAM;%!+ 0(4 Q0    ( #V)KEBLX.+.Q!$  "CU   5
M              "  6NO @!T86-T+3(P,C0P,S,Q7V1E9BYX;6Q02P$"% ,4
M    "  ]B:Y8YG=38#=?  !V,04 %0              @ %BP0( =&%C="TR
M,#(T,#,S,5]L86(N>&UL4$L! A0#%     @ /8FN6"3A1Y_K+   ]]<" !4
M             ( !S" # '1A8W0M,C R-# S,S%?<')E+GAM;%!+!08
.."@ * (T"  #J30,    !

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>54
<FILENAME>ef20027082_10q_htm.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:country="http://xbrl.sec.gov/country/2023"
  xmlns:dei="http://xbrl.sec.gov/dei/2023"
  xmlns:ecd="http://xbrl.sec.gov/ecd/2023"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2023"
  xmlns:tact="http://transact-tech.com/20240331"
  xmlns:us-gaap="http://fasb.org/us-gaap/2023"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <link:schemaRef xlink:href="tact-20240331.xsd" xlink:type="simple"/>
    <context id="c20240101to20240331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240430">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2024-04-30</instant>
        </period>
    </context>
    <context id="c20231231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20240331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20230101to20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20221231">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20230331">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-12-31</instant>
        </period>
    </context>
    <context id="c20221231_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2022-12-31</instant>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_CommonStockMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_RetainedEarningsMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockCommonMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2023-03-31</instant>
        </period>
    </context>
    <context id="c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">srt:ScenarioForecastMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-12-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PosAutomationAndBankingMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_StatementGeographicalAxis_InternationalMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransactServicesGroupMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2023-01-01</startDate>
            <endDate>2023-03-31</endDate>
        </period>
    </context>
    <context id="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260401Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2026-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240401Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2024-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250401Member">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
                    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2025-04-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
                </xbrldi:typedMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2020-03-13</instant>
        </period>
    </context>
    <context id="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-03-31</instant>
        </period>
    </context>
    <context id="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <context id="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="us-gaap:DebtInstrumentAxis">tact:RevolvingCreditFacilitySienaLendingGroupLlcMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2021-07-21</instant>
        </period>
    </context>
    <context id="c20240101to20240331_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0001017303</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2024-01-01</startDate>
            <endDate>2024-03-31</endDate>
        </period>
    </context>
    <unit id="U001">
        <measure>shares</measure>
    </unit>
    <unit id="U002">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="U003">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="U004">
        <measure>pure</measure>
    </unit>
    <dei:AmendmentFlag
      contextRef="c20240101to20240331"
      id="Fact_30c5fe953416460a8c8a12a5de31b38c">false</dei:AmendmentFlag>
    <dei:CurrentFiscalYearEndDate
      contextRef="c20240101to20240331"
      id="Fact_e6adfc8e385e4918a9d0b3c99be2f340">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:DocumentFiscalYearFocus
      contextRef="c20240101to20240331"
      id="Fact_c07f25280f224806962212293019fbf9">2024</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus
      contextRef="c20240101to20240331"
      id="Fact_c7cad5d9032845c3a871e827ad52e9f9">Q1</dei:DocumentFiscalPeriodFocus>
    <dei:EntityCentralIndexKey
      contextRef="c20240101to20240331"
      id="Fact_980cd54a0c8e49f6af45e8d41f018c88">0001017303</dei:EntityCentralIndexKey>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260401Member"
      id="Fact_c5f09af54bef4c99999a6b08fbf79c8f"
      unitRef="U002"
      xsi:nil="true"/>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250401Member"
      id="Fact_e46cad17a06c427da289ce1d6da56f8a">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20260401Member"
      id="Fact_66b7f79e654845d4a0990d15264f888d">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20240331"
      id="Fact_4cd21b3197ec4d90bde55adf6dba9e04"
      unitRef="U002"
      xsi:nil="true"/>
    <us-gaap:CommitmentsAndContingencies
      contextRef="c20231231"
      id="Fact_fe44e82a0afe46ecb15e07bc692aaeb9"
      unitRef="U002"
      xsi:nil="true"/>
    <dei:DocumentType
      contextRef="c20240101to20240331"
      id="Fact_287d46fc470b4cde89c7e3e849359750">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport
      contextRef="c20240101to20240331"
      id="Fact_422f28aee3b14fb488f56382fb297d5d">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate
      contextRef="c20240101to20240331"
      id="Fact_fac26618880b400a99d0a8b4eacd9e1e">2024-03-31</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport
      contextRef="c20240101to20240331"
      id="Fact_1fc7af4f6e7c4ed2b7156f65d58dfa00">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber
      contextRef="c20240101to20240331"
      id="Fact_d67d12589f2542fe85307fd2529ff5d2">0-21121</dei:EntityFileNumber>
    <dei:EntityRegistrantName
      contextRef="c20240101to20240331"
      id="Fact_77231ac75e2f4bc5b1103e02aa08a5a0">TRANSACT TECHNOLOGIES INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode
      contextRef="c20240101to20240331"
      id="Fact_1d0dee0ba61549218fb18023d7a8b795">DE</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber
      contextRef="c20240101to20240331"
      id="Fact_6683ce0d159f42c7ab1361da7f1324d6">06-1456680</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1
      contextRef="c20240101to20240331"
      id="Fact_1262a0337eac406a96a13e48ac8edd2d">One Hamden Center</dei:EntityAddressAddressLine1>
    <dei:EntityAddressAddressLine2
      contextRef="c20240101to20240331"
      id="Fact_4a7d80fa283e4a9da4ed44a8ca3ab4cc">2319 Whitney Avenue, Suite 3B</dei:EntityAddressAddressLine2>
    <dei:EntityAddressCityOrTown
      contextRef="c20240101to20240331"
      id="Fact_b1cc5dc09cfb4d47ab917b2bbaf44d34">Hamden</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince
      contextRef="c20240101to20240331"
      id="Fact_facfaf9e00414c64abbc4313ef36bc49">CT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode
      contextRef="c20240101to20240331"
      id="Fact_0b6e5db30c9d46858673d3df82e4e548">06518</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode
      contextRef="c20240101to20240331"
      id="Fact_4c9048ed7ae54a2c8b0534bab29886f4">203</dei:CityAreaCode>
    <dei:LocalPhoneNumber
      contextRef="c20240101to20240331"
      id="Fact_7b64e8ebe449420cab16879cb4be1587">859-6800</dei:LocalPhoneNumber>
    <dei:Security12bTitle
      contextRef="c20240101to20240331"
      id="Fact_ff250c9048c94b4996bb39e03bea0fd1">Common stock, par value $0.01 per share</dei:Security12bTitle>
    <dei:TradingSymbol
      contextRef="c20240101to20240331"
      id="Fact_4a89840b51314e39af23099c8a8a44e1">TACT</dei:TradingSymbol>
    <dei:SecurityExchangeName
      contextRef="c20240101to20240331"
      id="Fact_669a7b27641b4eb89d56940d4e50e53a">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityCurrentReportingStatus
      contextRef="c20240101to20240331"
      id="Fact_32b7acd185be4e5794157f9c66f1d7db">Yes</dei:EntityCurrentReportingStatus>
    <dei:EntityInteractiveDataCurrent
      contextRef="c20240101to20240331"
      id="Fact_ddc7bffeb8bc446a984fc0e4aa4d3a32">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory
      contextRef="c20240101to20240331"
      id="Fact_9bdaa1803076475ab05cb178c63faf4c">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness
      contextRef="c20240101to20240331"
      id="Fact_94f2f7a421b042749364d5edde4e35fe">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany
      contextRef="c20240101to20240331"
      id="Fact_6993c0841a5c452ba8ed3f8956c439ad">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany
      contextRef="c20240101to20240331"
      id="Fact_84d939645c4c42a3b1f7a168e8acf672">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="c20240430"
      decimals="INF"
      id="Fact_019ebe121e7a417392e0bf8eb8afb07a"
      unitRef="U001">9994907</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20240331"
      decimals="-3"
      id="Fact_9545a49ad3d543b0896dd9272bff8ec0"
      unitRef="U002">10631000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_79d2005e987a4548921e867e25a6bd0f"
      unitRef="U002">12321000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_db7443e727c8403b8a83f36adc758f66"
      unitRef="U002">668000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_6135e61b9fbf4d8ba8d804489505f9e7"
      unitRef="U002">768000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_60e5e2257d5f44d28c7bd3662a9eac07"
      unitRef="U002">7780000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_abefc36c1ae449fcba47d509aba86455"
      unitRef="U002">9824000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="c20240331"
      decimals="-3"
      id="Fact_d03c1f0cd48c4a74934c0a0fe725b242"
      unitRef="U002">19171000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_3840486e7e1b46a4a53be4b043b325a9"
      unitRef="U002">17759000</us-gaap:InventoryNet>
    <us-gaap:PrepaidTaxes
      contextRef="c20240331"
      decimals="-3"
      id="Fact_6102016e1c2344dea71e07777c4c176e"
      unitRef="U002">352000</us-gaap:PrepaidTaxes>
    <us-gaap:PrepaidTaxes
      contextRef="c20231231"
      decimals="-3"
      id="Fact_eff0068c5cc6440e9610c94ad8b52d46"
      unitRef="U002">322000</us-gaap:PrepaidTaxes>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_90017476b5684f599ccd0152ae0da5d5"
      unitRef="U002">931000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_5720f37690ab4430bb1bdbd14eae38bf"
      unitRef="U002">773000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_16719f84d34f40c3821c8395afb4dc2c"
      unitRef="U002">38865000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b1a7120875ef47c0945493ad3d1b64c0"
      unitRef="U002">40999000</us-gaap:AssetsCurrent>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20240331"
      decimals="-3"
      id="Fact_a63019cf27354cba8c11148bfe6a90a2"
      unitRef="U002">18947000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment
      contextRef="c20231231"
      decimals="-3"
      id="Fact_df75900ca674492fbf4291e695f2d309"
      unitRef="U002">18646000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20240331"
      decimals="-3"
      id="Fact_46fce8a80fb34bb3917a900ce443a3ef"
      unitRef="U002">2187000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c3113b03e3214dfd815dabe4cf443eb5"
      unitRef="U002">2421000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20240331"
      decimals="-3"
      id="Fact_4396a028fc334f24a5df3f57fe4f8e04"
      unitRef="U002">1371000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:OperatingLeaseRightOfUseAsset
      contextRef="c20231231"
      decimals="-3"
      id="Fact_00edefeb691f4b78bc02ece31117e7a1"
      unitRef="U002">1602000</us-gaap:OperatingLeaseRightOfUseAsset>
    <us-gaap:Goodwill
      contextRef="c20240331"
      decimals="-3"
      id="Fact_107b8a99003f42839c997377b656eab8"
      unitRef="U002">2621000</us-gaap:Goodwill>
    <us-gaap:Goodwill
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f328c52accc94aec942a2a0774fee57e"
      unitRef="U002">2621000</us-gaap:Goodwill>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20240331"
      decimals="-3"
      id="Fact_872073df1f6c48b9aecba0e57f286846"
      unitRef="U002">6691000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:DeferredIncomeTaxAssetsNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_a6af3d6a87fb4cfbaeb4458816b0856e"
      unitRef="U002">6304000</us-gaap:DeferredIncomeTaxAssetsNet>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20240331"
      decimals="-3"
      id="Fact_d8224e74569a4e3191d01a5cb9c28088"
      unitRef="U002">1556000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="c20231231"
      decimals="-3"
      id="Fact_747c800b69ba4a64b7549d2f3f79ed6a"
      unitRef="U002">1518000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="c20240331"
      decimals="-3"
      id="Fact_2fdfe03b481d4489953b729f81da02d0"
      unitRef="U002">50000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f75e614abeaf4e66898ae9d40471df1e"
      unitRef="U002">88000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_1bd2eb562726423ea09df8a92082cab5"
      unitRef="U002">133000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:OtherAssetsNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b54e0ccdac0f46ec989eb64bcc818169"
      unitRef="U002">163000</us-gaap:OtherAssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_2adbc4026515413c94aaf3fd0883da2a"
      unitRef="U002">13053000</us-gaap:AssetsNoncurrent>
    <us-gaap:AssetsNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_a706d5a309bc439a9a462d605a63013b"
      unitRef="U002">13199000</us-gaap:AssetsNoncurrent>
    <us-gaap:Assets
      contextRef="c20240331"
      decimals="-3"
      id="Fact_7f7a654222eb498faf894fdd789f1825"
      unitRef="U002">51918000</us-gaap:Assets>
    <us-gaap:Assets
      contextRef="c20231231"
      decimals="-3"
      id="Fact_fa58f07501484106a34accb906a8c15b"
      unitRef="U002">54198000</us-gaap:Assets>
    <us-gaap:LinesOfCreditCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_fb9ce4aa49b44977a5a2fd702ed4f6d1"
      unitRef="U002">2250000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:LinesOfCreditCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_549f1159db934c52ab6087c6fd0de80e"
      unitRef="U002">2250000</us-gaap:LinesOfCreditCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_29ae2208e0014023a7d1d08d708136b0"
      unitRef="U002">4226000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d417e6fd989749e9a25794a244257b5d"
      unitRef="U002">4431000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_62fd24808fc344a6a49b70d69a9eb283"
      unitRef="U002">4126000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ed20023c541a468f9ba16a1709755342"
      unitRef="U002">4947000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_fb57f0a320d747e7b555e9db37295675"
      unitRef="U002">941000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:OperatingLeaseLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_27f63843f5fb4efa8d8c04a26c7a3451"
      unitRef="U002">929000</us-gaap:OperatingLeaseLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_62130f92a0fb4de699a00374df9e2c39"
      unitRef="U002">925000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_534d008ff360482c96bdab44bb79a838"
      unitRef="U002">1079000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_c61879ab57104a00b035ea4ca40e970b"
      unitRef="U002">12468000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d243f07976eb4140bd6509824f9282d4"
      unitRef="U002">13636000</us-gaap:LiabilitiesCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_ecbe4383b9e645639e84609b71e4963a"
      unitRef="U002">196000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_2a7427f1a4d1479bb9367cb0fb8f7ff2"
      unitRef="U002">209000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_8ea0df603f52409f8e66263d741e885b"
      unitRef="U002">468000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OperatingLeaseLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_6508a0ef087344db8c33fff728350d7c"
      unitRef="U002">720000</us-gaap:OperatingLeaseLiabilityNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_d1b2cadf7ffc4b21a36ab53530138603"
      unitRef="U002">215000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:OtherLiabilitiesNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_ff86b3ca8e854bf6835b36659906862c"
      unitRef="U002">219000</us-gaap:OtherLiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_535f817e141e4937ae541d4d9218ba5a"
      unitRef="U002">879000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:LiabilitiesNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c075fce9c1f74b31bea56a88ca4ffd63"
      unitRef="U002">1148000</us-gaap:LiabilitiesNoncurrent>
    <us-gaap:Liabilities
      contextRef="c20240331"
      decimals="-3"
      id="Fact_f1746504ba1e4d4ba7f4fb43bf60cbf3"
      unitRef="U002">13347000</us-gaap:Liabilities>
    <us-gaap:Liabilities
      contextRef="c20231231"
      decimals="-3"
      id="Fact_6b2680fdcabe4305a19dda7044f7b86b"
      unitRef="U002">14784000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20231231"
      decimals="2"
      id="Fact_39ea429c0d84417a9484a774eb2a41c3"
      unitRef="U003">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="c20240331"
      decimals="2"
      id="Fact_06cf2cc8210c4875987a205b8ed9cf39"
      unitRef="U003">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20240331"
      decimals="0"
      id="Fact_b15604aca6ab46c88ae1119c0917d474"
      unitRef="U001">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="c20231231"
      decimals="0"
      id="Fact_282f5e196b4f4a0a99bc379301cfb944"
      unitRef="U001">20000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20240331"
      decimals="0"
      id="Fact_ecb8104a9b034e388fca335b5318adf6"
      unitRef="U001">14039749</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesIssued
      contextRef="c20231231"
      decimals="0"
      id="Fact_b879d002d5164784a1ca08f6076c3161"
      unitRef="U001">14003653</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20240331"
      decimals="0"
      id="Fact_4cc27091ae11412188a9a3a87d04b530"
      unitRef="U001">9994907</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="c20231231"
      decimals="0"
      id="Fact_ab0b6328acf9414ebef9e92fe2f3d41d"
      unitRef="U001">9958811</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="c20240331"
      decimals="-3"
      id="Fact_c449457e7ea5474cb0476809f505806e"
      unitRef="U002">140000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_4cb9cf600e80406c994caa9a7f0566d3"
      unitRef="U002">140000</us-gaap:CommonStockValue>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="c20240331"
      decimals="-3"
      id="Fact_7e390a85b2a64d2198b9ebf3f4eb9254"
      unitRef="U002">57249000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b46de043e1594325a85bee6043f0d368"
      unitRef="U002">57055000</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20240331"
      decimals="-3"
      id="Fact_13cb103534e14cad818cdd51ebfd56e7"
      unitRef="U002">13342000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="c20231231"
      decimals="-3"
      id="Fact_d6d929483e1740e9b400628baa42fb89"
      unitRef="U002">14378000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20240331"
      decimals="-3"
      id="Fact_cca37ac085ae457b9a3305ce305991c2"
      unitRef="U002">-50000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax
      contextRef="c20231231"
      decimals="-3"
      id="Fact_da5857ca7537407b9284af6eafc7ae9d"
      unitRef="U002">-49000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c20231231"
      decimals="0"
      id="Fact_6fae60eccf2d475c8da12fc9ebaa2314"
      unitRef="U001">4044842</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockCommonShares
      contextRef="c20240331"
      decimals="0"
      id="Fact_157175504c47446d89705cc6d8eed923"
      unitRef="U001">4044842</us-gaap:TreasuryStockCommonShares>
    <us-gaap:TreasuryStockValue
      contextRef="c20240331"
      decimals="-3"
      id="Fact_07a397dc2c7d46af8e0e83f5c281419a"
      unitRef="U002">32110000</us-gaap:TreasuryStockValue>
    <us-gaap:TreasuryStockValue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_3bac9342585e4776b72860c745737a9d"
      unitRef="U002">32110000</us-gaap:TreasuryStockValue>
    <us-gaap:StockholdersEquity
      contextRef="c20240331"
      decimals="-3"
      id="Fact_38a67896ed45462992c56a66de031422"
      unitRef="U002">38571000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_0da25a5135f540e1a183d656b4a28e62"
      unitRef="U002">39414000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20240331"
      decimals="-3"
      id="Fact_f8f29ef1ddd84752b71a18240c11e797"
      unitRef="U002">51918000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_8a0b455e85884e61b68700230681cc8d"
      unitRef="U002">54198000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_6c9b9c453d784735996e76cf17af82eb"
      unitRef="U002">10687000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_8605d593c9b84ae3989252839f50c88e"
      unitRef="U002">22270000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfRevenue
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_fce485bf7a5b4cb3be959ac3fbe1219f"
      unitRef="U002">5063000</us-gaap:CostOfRevenue>
    <us-gaap:CostOfRevenue
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_d839f88330fc4b8fa76b282e35c572df"
      unitRef="U002">10015000</us-gaap:CostOfRevenue>
    <us-gaap:GrossProfit
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_ea703ef6b67e4e6f9d69ada350ab6631"
      unitRef="U002">5624000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_aa35c3d870754767a5ee89220b43811f"
      unitRef="U002">12255000</us-gaap:GrossProfit>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_002f993366b5496caf50e37df07ae448"
      unitRef="U002">1966000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_ef0f4f61cc664ecdb1d93b2b559a8c89"
      unitRef="U002">2269000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_5f2ee1cfd7354a17bd38d93c3207a7c5"
      unitRef="U002">2083000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_3a9508a618494ad9a1570d203e9594fd"
      unitRef="U002">2757000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_4a32a2c09ec14c16aa18fe8e83ad3980"
      unitRef="U002">2876000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:GeneralAndAdministrativeExpense
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_9642ab9e31584a55854b3b439219e712"
      unitRef="U002">3416000</us-gaap:GeneralAndAdministrativeExpense>
    <us-gaap:OperatingExpenses
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_883f2f1026b042ab9e246f5c1d5d5ed2"
      unitRef="U002">6925000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_13e0055e88d94c998f48c8a7e660e23c"
      unitRef="U002">8442000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_7235823d457c40869ab031c0ccae20d5"
      unitRef="U002">-1301000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_e1849fda3264493c80e828257c211658"
      unitRef="U002">3813000</us-gaap:OperatingIncomeLoss>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_0fbffef0e2f542838dd54eeb4792b52b"
      unitRef="U002">48000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:InterestIncomeExpenseNonoperatingNet
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_a97a8e07349540529bede8e956306e54"
      unitRef="U002">-66000</us-gaap:InterestIncomeExpenseNonoperatingNet>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_035d4e352e05429499f19071382acff7"
      unitRef="U002">-60000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_22b8759e875f4252b8c9c49452e85fec"
      unitRef="U002">21000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_27560024835b4704890445c439a61744"
      unitRef="U002">-12000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:NonoperatingIncomeExpense
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_00c83dec9dc645c5af0e3074df4304f2"
      unitRef="U002">-45000</us-gaap:NonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_d445299b7d674ec4a3d0c8041318f768"
      unitRef="U002">-1313000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_a6aa9868d4974d519793fab6b49d1693"
      unitRef="U002">3768000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_6249573190594fa989d395fe4584f806"
      unitRef="U002">-277000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_cb702335bd3a49db919c6c507fb0041d"
      unitRef="U002">629000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_650aee51a0e54758b6da503bcd9ff13a"
      unitRef="U002">-1036000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_feec89e497ad4db4b33b8ee323ceeccf"
      unitRef="U002">3139000</us-gaap:NetIncomeLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20240101to20240331"
      decimals="2"
      id="Fact_4adf60d7d8944665abaa240335c20322"
      unitRef="U003">-0.1</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230101to20230331"
      decimals="2"
      id="Fact_8280e8e10c3241d59015ce5bdf7a3f7d"
      unitRef="U003">0.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20240101to20240331"
      decimals="2"
      id="Fact_d99949e368b847fb871fe5394744eb5b"
      unitRef="U003">-0.1</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230101to20230331"
      decimals="2"
      id="Fact_19788feb725f4c0f8dbe2518fc42b9bc"
      unitRef="U003">0.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_186b8fdd1b77422f84f21e7b9eb3d70b"
      unitRef="U001">9972000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_3a678b36a87d45159700f6b8f405abfc"
      unitRef="U001">9930000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_74eec27463344ea1991077764ad3eb63"
      unitRef="U001">9972000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_c6ede6fb4eb4441ca90c18f1fe5d8f2a"
      unitRef="U001">10043000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_725b19a20144420cb2afb4356167bdc9"
      unitRef="U002">-1036000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_c27c9c5b19a442edb4e24914a4afece1"
      unitRef="U002">3139000</us-gaap:NetIncomeLoss>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_4b24dcb66b594586bae3825ffe6b83ae"
      unitRef="U002">-1000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_75e206fc9cfb47b3b713f59c414c887f"
      unitRef="U002">2000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_20cbad7994f4409d9c17107c48619225"
      unitRef="U002">-1037000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_9a3fdba665c541c5b1731ca87fe83348"
      unitRef="U002">3141000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_ebedc51791cd4d459046e0ac5cae7241"
      unitRef="U002">-1036000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_517c59a8241a46af815fcd9d4c23226c"
      unitRef="U002">3139000</us-gaap:NetIncomeLoss>
    <us-gaap:ShareBasedCompensation
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_0b808d51ba5f42faafe98e5c2c5297a2"
      unitRef="U002">265000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_708d8cc7bfc64a1ea90658a26fbaf49b"
      unitRef="U002">278000</us-gaap:ShareBasedCompensation>
    <us-gaap:DepreciationAndAmortization
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_5266bb4f7af442bfbec85e8a4ab01472"
      unitRef="U002">395000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DepreciationAndAmortization
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_441ceb2a77dc4985a0b5d2a919948f1a"
      unitRef="U002">352000</us-gaap:DepreciationAndAmortization>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_885a8144395046d2b492626ae7d00325"
      unitRef="U002">-386000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_eb1ce58252ce470194c7040f1dae2661"
      unitRef="U002">501000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_6644e150796a4b44a931eb32810f6467"
      unitRef="U002">-62000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:ForeignCurrencyTransactionGainLossUnrealized
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_bce24d138e624132853583849c0df464"
      unitRef="U002">-21000</us-gaap:ForeignCurrencyTransactionGainLossUnrealized>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_391f6f39de0e4e1aa597bdb93792a145"
      unitRef="U002">-2029000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInAccountsReceivable
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_f542bba502dd45a4a522dc488fbcf532"
      unitRef="U002">3044000</us-gaap:IncreaseDecreaseInAccountsReceivable>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_9bc5b028bc73422e946ded50855a3315"
      unitRef="U002">0</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInOtherReceivables
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_02fb169e94954ae29cbc1ade478c499b"
      unitRef="U002">-1500000</us-gaap:IncreaseDecreaseInOtherReceivables>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_956978afdb154b8a9a73a5c6c3d4cee4"
      unitRef="U002">1440000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_d994f7d68e87409bb95ac215f2104445"
      unitRef="U002">351000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidTaxes
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_4a33796470fb4e92a857280ea9c43a1f"
      unitRef="U002">30000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
    <us-gaap:IncreaseDecreaseInPrepaidTaxes
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_70d9f91dce1341c8b0686cc928a30290"
      unitRef="U002">0</us-gaap:IncreaseDecreaseInPrepaidTaxes>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_73939bc2b011475abcdf5fa1ebcdabcf"
      unitRef="U002">139000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInOtherOperatingAssets
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_ffe34e83071b40da9df8f6dbcb731c36"
      unitRef="U002">175000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_4bd726a69a034ba7830d2b1ecb7c856f"
      unitRef="U002">-214000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_e21c508a4bb04f6481db084de4a02bc8"
      unitRef="U002">-2846000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_1da58e9e7ec54bd2bed4ef76bfb03cf8"
      unitRef="U002">-996000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_17608c7f17c645fd8e006fa6abad5094"
      unitRef="U002">-132000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_94ddced28c2b4e8a85612ea2b7515fea"
      unitRef="U002">-1490000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_97b20fe9f60b440aa3d58562a55a2ae9"
      unitRef="U002">-757000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_d6c6bfe75c754a0daea7cdecbcdb70f0"
      unitRef="U002">106000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_00369d37dd8943209aa436e2684d78dc"
      unitRef="U002">378000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_14e6859dc7b14822abd7074dac4eb9c4"
      unitRef="U002">-106000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_accd4069bd2548a69374efa2c615156b"
      unitRef="U002">-378000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_040a7970f6a64038810565b191a82872"
      unitRef="U002">71000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_973488112c0b466cbb0f040c789c6b9a"
      unitRef="U002">86000</us-gaap:PaymentsRelatedToTaxWithholdingForShareBasedCompensation>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_a5a9ccf400c448e6942c46b746cbc3b3"
      unitRef="U002">-71000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_b56f7be4b792464b87f44cdab479cde4"
      unitRef="U002">-86000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_79bb3569b9e447aa94b6a2caf8758a74"
      unitRef="U002">-23000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_dad1013c7a334ff5b9ce9c34e27c7f1b"
      unitRef="U002">-81000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_9183e56039f84365830fecea99c7f6b1"
      unitRef="U002">-1690000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_1e84c267cd104679b38660ead65920a4"
      unitRef="U002">-1302000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20231231"
      decimals="-3"
      id="Fact_23e315c010d94f138ef391246c71a677"
      unitRef="U002">12321000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20221231"
      decimals="-3"
      id="Fact_f8b74ac0132140d2867fac9cc5c4695a"
      unitRef="U002">7946000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20240331"
      decimals="-3"
      id="Fact_fd69bcc7a52b4dd99a3a3473f49e3319"
      unitRef="U002">10631000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="c20230331"
      decimals="-3"
      id="Fact_a2b13fa959a74262baf2daf782d4c194"
      unitRef="U002">6644000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_1850159952cc436bb14b8f08c30b77e6"
      unitRef="U002">31000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:CapitalExpendituresIncurredButNotYetPaid
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_9b71e5e6643c4c719f6d357d8808245e"
      unitRef="U002">25000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
    <us-gaap:StockholdersEquity
      contextRef="c20231231"
      decimals="-3"
      id="Fact_444d8e3429a34a6481fbfe4812ef393b"
      unitRef="U002">39414000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231"
      decimals="-3"
      id="Fact_f836155ff10e4e10b36c3b9b61d45e5e"
      unitRef="U002">33862000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_b27f15b6338149c1a6b47f5b336dd13e"
      unitRef="U002">140000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_90749f7d531347ebb79e3d0ebcd95c2d"
      unitRef="U002">139000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_652d9b9c4eb04b1399c50d29c438ddff"
      unitRef="U002">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_b731654993264ad38bb75add11c8748f"
      unitRef="U002">1000</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_a901ffa42250440b90cb52dd7a2275d0"
      unitRef="U002">140000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_CommonStockMember"
      decimals="-3"
      id="Fact_5d1f5484a98c4cbaa4d3c430bcd01529"
      unitRef="U002">140000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_443e8408a1324fb585e76b23c78db9fc"
      unitRef="U002">57055000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_33a18a5dfc8b4114a3a2a8dfae1bdd1d"
      unitRef="U002">56282000</us-gaap:StockholdersEquity>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_e14743f770264c079a13c5dcbbc8ba3e"
      unitRef="U002">265000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_8e4d9526dc6242abb360b2964b82aa49"
      unitRef="U002">278000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_e3d7f2dc04e949e5ba9ec46526b62b72"
      unitRef="U002">71000</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_241bd9343c94456b9f70996938d09a35"
      unitRef="U002">86000</us-gaap:StockGrantedDuringPeriodValueSharebasedCompensationForfeited>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_ddf414113e7e4163b90e69c6284afe74"
      unitRef="U002">57249000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember"
      decimals="-3"
      id="Fact_d2f6621ad86d4abe93e592fa06800c14"
      unitRef="U002">56474000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_ccdeef9fd37a435eac00b5474d3197c4"
      unitRef="U002">14378000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_298fdc36129e4f8dbaa33dbad0523e0a"
      unitRef="U002">9630000</us-gaap:StockholdersEquity>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_4f41f65aa71c4a9cb0aee6b0e542ae29"
      unitRef="U002">-1036000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_b3051c4d0d424f2d8950c5c685bd798f"
      unitRef="U002">3139000</us-gaap:NetIncomeLoss>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_0b2bc8608fd1408d81e2ed50c1a2f89a"
      unitRef="U002">13342000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_RetainedEarningsMember"
      decimals="-3"
      id="Fact_b5af038ff1d4474793f7f8cb985db1e6"
      unitRef="U002">12769000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_9b8265b930684a74b74a21a7095cabdb"
      unitRef="U002">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_0ca60087c77b4210a99202eac0d75e09"
      unitRef="U002">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_bb7af7a548ef4a0285b647fa60ccac3b"
      unitRef="U002">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_TreasuryStockCommonMember"
      decimals="-3"
      id="Fact_193f5dcc2c5148d39512efcb303b904e"
      unitRef="U002">-32110000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20231231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_52654b758adc41b08c76d45cedf8abd2"
      unitRef="U002">-49000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20221231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_3a29ce13ecdb48d59468ed77c23f5698"
      unitRef="U002">-79000</us-gaap:StockholdersEquity>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20240101to20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_dd50187f8a3f4d9ca4661974312abe11"
      unitRef="U002">-1000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="c20230101to20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_5f6acb0c10e946a4af1409fd4a1e95e7"
      unitRef="U002">2000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:StockholdersEquity
      contextRef="c20240331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_4e9c0b96867e467bb10a3a0fd619ff52"
      unitRef="U002">-50000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember"
      decimals="-3"
      id="Fact_2566be465cd743868c22fcf8e4028743"
      unitRef="U002">-77000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20240331"
      decimals="-3"
      id="Fact_42e91786ea234548a32dc2eff577c2c2"
      unitRef="U002">38571000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity
      contextRef="c20230331"
      decimals="-3"
      id="Fact_d230c076b3cc486f8460c9ac7f3ceba8"
      unitRef="U002">37196000</us-gaap:StockholdersEquity>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_101838234de34d6b9e486a734ec149fb"
      unitRef="U001">47000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_5d7fbf82224549f4b7dd1c029799cd73"
      unitRef="U001">54000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_1c2de405e50549f29ddce353ed09a1bd"
      unitRef="U001">11000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_bfedf6ee3cfb41aeae47ba3e34859ae6"
      unitRef="U001">12000</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
    <us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock
      contextRef="c20240101to20240331"
      id="Text_acbb907bcf6a42b08d05cc4b3e119c3c">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;1. Basis of presentation&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;The &lt;/span&gt;accompanying unaudited financial statements of TransAct Technologies Incorporated (&#x201c;TransAct&#x201d;,
      the &#x201c;Company&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d;, or &#x201c;our&#x201d;) have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;U.S. GAAP&#x201d;) for interim financial information.&#160; Accordingly, they do not include all of the
      information and footnotes required by U.S. GAAP to be included in full year financial statements.&#160; In the opinion of management, all adjustments considered necessary for a fair statement of the results for the periods presented have been included and
      are of a normal recurring nature&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;.&#160; The &lt;/span&gt;December 31, 2023&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; Condensed Consolidated Balance Sheet data was derived from audited financial statements, but does not include all disclosures required by U.S. GAAP.&#160; These interim financial statements
        should be read in conjunction with the audited financial statements in our Annual Report on Form 10-K for the year ended &lt;/span&gt;December 31, 2023&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; (the &#x201c;2023 Form 10-K&#x201d;).&lt;/span&gt;&lt;/div&gt;

&lt;div style="text-align: justify;"&gt;&lt;br/&gt;
      &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; The results of operations for the three months ended&#160;March 31, 2024 are
        not necessarily indicative of the results to be expected for the full year ending December 31, 2024. &lt;/span&gt; &lt;/div&gt;

&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; &lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: bold; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt; Current Business Trends&lt;/span&gt;
    &lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; margin-right: 0.1pt; margin-left: 0.1pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;After strong demand during most of 2023 due in part to our primary competitor&#x2019;s struggle to deliver products in the face of
      supply chain constraints, in late 2023, we began to see indications of a temporary slowdown in demand in the casino and gaming market, as customers that had built up excess inventory due to supply chain concerns advised us that they would temporarily
      reduce orders until their stock normalized. This slowdown impacted our results in the fourth quarter of 2023 and the first quarter of 2024, and we expect this trend to continue to impact results during 2024 until these customers are able to sell
      their on-hand inventory. Further, our primary competitor in the casino and gaming market has resumed supplying product and continued to increase volume at what we believe is full capacity, which has resulted in the beginning of downward pricing
      pressure in that market and could exacerbate the demand slowdown, which has negatively impacted our worldwide casino and gaming sales. In addition, we have experienced cost increases as a result of current economic conditions, most of which we have
      been able to offset by increasing prices of our products.&#160; However, there can be no guarantee that we will be able to increase prices sufficiently to offset any future such cost increases that cannot be predicted, and we may be further impacted by
      supply chain disruptions, inflationary pressures and other global economic conditions that may affect the markets we serve and from which we source our supplies and parts.&lt;br/&gt;
      &lt;br/&gt;
      &lt;span style="font-weight: normal; font-style: italic;"&gt;Balance Sheet, Cash Flow and Liquidity&lt;/span&gt;. During the third quarter of 2023, we began a cost reduction initiative to reduce our overall level of operating expenses that included reducing
      employee headcount, trade show, advertising and other promotional marketing expenses, certain third party engineering resources and other expenses, and to a lesser extent, certain general and administrative expenses. We saw the full impact of these
      actions in the first quarter of 2024 and expect they will result in approximately $3 million of annualized savings compared to the 2023
      levels, partially offset by typical annual inflationary and cost of living increases in operating expenses. Notwithstanding the foregoing, there is no assurance that the cost-cutting efforts we have taken to bring expenses in line with our revenue
      and mitigate the impact of global economic conditions such as supply chain disruptions and inflation, and conditions in our markets will be sufficient or adequate, and we may be required to take additional measures, as the ultimate extent of the
      effects of these risks on the Company, our financial condition, results of operations, liquidity, and cash flows are uncertain and are dependent on evolving developments which cannot be predicted at this time.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;After reviewing whether conditions and/or events raise substantial doubt about our ability to meet future financial obligations over the 12 months following the date on
      which the Condensed Consolidated Financial Statements included in this Quarterly Report on Form 10-Q were issued, including consideration of the actions to manage expenses and liquidity, we believe that our net cash to be provided by operations
      combined with our cash and cash equivalents and borrowing availability under our revolving credit facility will provide sufficient liquidity to fund our current obligations, capital spending, and working capital requirements and to comply with the
      financial covenants of our credit facility over at least 12 months following the date that the Condensed Consolidated Financial Statements were issued.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Use of Assumptions and Estimates&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Management&#x2019;s belief that the Company will be able to fund its planned operations over the 12 months following the date on which the unaudited Condensed Consolidated
      Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, inflation, rising interest rates, capital expenditures and other operating costs. Though demand for our products at casinos
      has increased substantially post-pandemic, we cannot predict the ultimate impact of the current economic environment, including inflation, rising interest rates and supply chain disruptions on our customers, which may impact sales. We believe that we
      are positioned to withstand the impact of any potential future economic downturn and we would be able to take additional financial and operational actions to cut costs and/or increase liquidity.&lt;br/&gt;
      &lt;br/&gt;
      In addition, the presentation of the accompanying unaudited Condensed Consolidated Financial Statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of
      contingent assets and liabilities. Our estimates include those related to revenue recognition, accounts receivable, inventory obsolescence, goodwill and intangible assets, the valuation of deferred tax assets and liabilities, depreciable lives of
      equipment, share-based compensation and contingent liabilities. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates
      used. &lt;/div&gt;
</us-gaap:BusinessDescriptionAndBasisOfPresentationTextBlock>
    <us-gaap:BasisOfAccountingPolicyPolicyTextBlock
      contextRef="c20240101to20240331"
      id="Text_aef62442dc27490e977b8a41307ebaef">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;The &lt;/span&gt;accompanying unaudited financial statements of TransAct Technologies Incorporated (&#x201c;TransAct&#x201d;,
      the &#x201c;Company&#x201d;, &#x201c;we&#x201d;, &#x201c;us&#x201d;, or &#x201c;our&#x201d;) have been prepared in accordance with accounting principles generally accepted in the United States of America (&#x201c;U.S. GAAP&#x201d;) for interim financial information.&#160; Accordingly, they do not include all of the
      information and footnotes required by U.S. GAAP to be included in full year financial statements.&#160; In the opinion of management, all adjustments considered necessary for a fair statement of the results for the periods presented have been included and
      are of a normal recurring nature&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;.&#160; The &lt;/span&gt;December 31, 2023&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; Condensed Consolidated Balance Sheet data was derived from audited financial statements, but does not include all disclosures required by U.S. GAAP.&#160; These interim financial statements
        should be read in conjunction with the audited financial statements in our Annual Report on Form 10-K for the year ended &lt;/span&gt;December 31, 2023&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt; (the &#x201c;2023 Form 10-K&#x201d;).&lt;/span&gt;&lt;/div&gt;
</us-gaap:BasisOfAccountingPolicyPolicyTextBlock>
    <us-gaap:OperatingExpenses
      contextRef="c20240101to20241231_StatementScenarioAxis_ScenarioForecastMember"
      decimals="-6"
      id="Fact_4409ade77d9643d59c828af3568ad560"
      unitRef="U002">3000000</us-gaap:OperatingExpenses>
    <us-gaap:UseOfEstimates
      contextRef="c20240101to20240331"
      id="Text_1ae2b40b68c84f8190c1283a27d13d74">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Use of Assumptions and Estimates&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Management&#x2019;s belief that the Company will be able to fund its planned operations over the 12 months following the date on which the unaudited Condensed Consolidated
      Financial Statements were issued is based on assumptions which involve significant judgment and estimates of future revenues, inflation, rising interest rates, capital expenditures and other operating costs. Though demand for our products at casinos
      has increased substantially post-pandemic, we cannot predict the ultimate impact of the current economic environment, including inflation, rising interest rates and supply chain disruptions on our customers, which may impact sales. We believe that we
      are positioned to withstand the impact of any potential future economic downturn and we would be able to take additional financial and operational actions to cut costs and/or increase liquidity.&lt;br/&gt;
      &lt;br/&gt;
      In addition, the presentation of the accompanying unaudited Condensed Consolidated Financial Statements requires us to make estimates and judgments that affect the reported amounts of assets, liabilities, revenue and expenses, and the disclosure of
      contingent assets and liabilities. Our estimates include those related to revenue recognition, accounts receivable, inventory obsolescence, goodwill and intangible assets, the valuation of deferred tax assets and liabilities, depreciable lives of
      equipment, share-based compensation and contingent liabilities. We base our estimates on historical experience and on various other assumptions that we believe to be reasonable under the circumstances. Actual results could differ from those estimates
      used. &lt;/div&gt;
</us-gaap:UseOfEstimates>
    <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock
      contextRef="c20240101to20240331"
      id="Text_605d7a22aa434537b6896129045ebd19">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2. Significant accounting policies&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;For a discussion of our significant accounting policies, see Note 2, &lt;span style="font-style: italic;"&gt;Summary of significant accounting policies&lt;/span&gt; within Part II,
      Item 8. &#x201c;Financial Statements and Supplementary Data&#x201d; in the 2023 Form 10-K.&#160; There have been no changes to our significant accounting policies since the 2023 Form 10-K.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold; text-align: justify;"&gt;Recently issued accounting pronouncements:&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On November 27, 2023, the FASB issued ASU 2023-07, &lt;span style="font-style: italic;"&gt;Segment Reporting (Topic 280)&lt;/span&gt;.&#160; The amendments improve reportable segment
        disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure
        requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements must be applied retrospectively to all periods
        presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.&lt;br/&gt;
        &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On December 14, 2023, the FASB issued ASU 2023-09, &lt;span style="font-style: italic;"&gt;Income Taxes (Topic 740)&lt;/span&gt;: Improvements to Income Tax Disclosures.&#160;&#160; This
        ASU requires the use of consistent categories and greater disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure
        requirements can be applied either prospectively or retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on
        our Consolidated Financial Statements.&lt;/div&gt;
</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
    <us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock
      contextRef="c20240101to20240331"
      id="Text_b63169b4f5964343ba30715d6aa0e488">
&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold; text-align: justify;"&gt;Recently issued accounting pronouncements:&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On November 27, 2023, the FASB issued ASU 2023-07, &lt;span style="font-style: italic;"&gt;Segment Reporting (Topic 280)&lt;/span&gt;.&#160; The amendments improve reportable segment
        disclosures requirements and clarify circumstances in which an entity can disclose multiple segment measures of profit or loss, provide new segment disclosure requirements for entities with a single reportable segment and contain other disclosure
        requirements.&#160; These amendments are effective for fiscal years beginning after December 15, 2023 and for interim periods beginning after December 15, 2024.&#160; These segment disclosure requirements must be applied retrospectively to all periods
        presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on our Consolidated Financial Statements.&lt;br/&gt;
        &lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On December 14, 2023, the FASB issued ASU 2023-09, &lt;span style="font-style: italic;"&gt;Income Taxes (Topic 740)&lt;/span&gt;: Improvements to Income Tax Disclosures.&#160;&#160; This
        ASU requires the use of consistent categories and greater disaggregation in tax rate reconciliations and income taxes paid disclosures.&#160; These amendments are effective for fiscal years beginning after December 15, 2024.&#160; These income tax disclosure
        requirements can be applied either prospectively or retrospectively to all periods presented in the financial statements.&#160; We are currently evaluating the impact of adopting this standard; however, we do not expect it to have a material impact on
        our Consolidated Financial Statements.&lt;/div&gt;
</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
    <us-gaap:RevenueFromContractWithCustomerTextBlock
      contextRef="c20240101to20240331"
      id="Text_1d094b5864c8432da01067050d7f4552">
&lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;3. Revenue&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following tables disaggregate our revenue by market type, as we believe this best depicts how the nature, amount, timing and uncertainty of our revenue and cash
      flows are affected by economic factors.&#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" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="22" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="22" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2024&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="22" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;277&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,300&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,263&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;195&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,458&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;651&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;651&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,782&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,797&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,238&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,458&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;5,696&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;11,569&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,242&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;15,811&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;853&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;187&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,040&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;983&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;221&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,204&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: 9pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;Total net sales&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,765&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,922&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,687&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,597&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,673&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;22,270&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Contract balances&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Contract assets consist of unbilled receivables.&#160; Pursuant to the over-time revenue recognition model, revenue may be recognized prior to the customer being invoiced.&#160;
      An unbilled receivable is recorded to reflect revenue that is recognized when such revenue exceeds the amount invoiced to the customer. Unbilled receivables are separated into current and non-current assets and included within &#x201c;Accounts receivable,
      net&#x201d; and &#x201c;Other assets&#x201d; in the Condensed Consolidated Balance Sheets.&#160; &lt;br/&gt;
    &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Contract liabilities consist of customer pre-payments and deferred revenue.&#160; Customer prepayments are reported as &#x201c;Accrued liabilities&#x201d; 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 are recognized as revenue when the performance obligation is complete.&#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 maintenance contracts and prepaid software
      subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&#160; For the three
      months ended March 31, 2024, we recognized revenue of $0.4 million related to our contract liabilities at December 31, 2023. &lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"&gt;Total net
        contract liabilities consisted of the following:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31, 2024&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;155&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;145&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, net of current portion&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;103&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;120&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;(123&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(155&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;(925&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,079&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, net of current portion&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;(196&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(209&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net contract liabilities&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;(986&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,178&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;
    &#160;
    &lt;/div&gt;

&lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Remaining performance obligations&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; 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.&#160; As of March 31, 2024, the aggregate amount of transaction prices allocated to remaining performance obligations was $6.8 million.&#160; The Company expects to recognize revenue of $6.5
      million of its remaining performance obligations within the next 12 months following March 31, 2024, $0.2 million within the next &lt;span style="-sec-ix-hidden:Fact_e46cad17a06c427da289ce1d6da56f8a"&gt;24 months&lt;/span&gt; following March 31, 2024 and
      the &lt;span style="-sec-ix-hidden:Fact_c5f09af54bef4c99999a6b08fbf79c8f"&gt;balance&lt;/span&gt; of these remaining performance obligations recognized within the next &lt;span style="-sec-ix-hidden:Fact_66b7f79e654845d4a0990d15264f888d"&gt;36 months&lt;/span&gt; following March 31, 2024.&lt;/div&gt;
</us-gaap:RevenueFromContractWithCustomerTextBlock>
    <us-gaap:DisaggregationOfRevenueTableTextBlock
      contextRef="c20240101to20240331"
      id="Text_4405d58ecd534de5907c3e3390937e7b">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following tables disaggregate our revenue by market type, as we believe this best depicts how the nature, amount, timing and uncertainty of our revenue and cash
      flows are affected by economic factors.&#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" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="22" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="22" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2024&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="10" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="22" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;United States&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;International&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Food service technology&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;277&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,300&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,263&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;195&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,458&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;POS automation&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;651&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#x2013;&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;651&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,782&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;15&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,797&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Casino and gaming&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,238&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,458&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;5,696&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;11,569&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,242&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;15,811&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;853&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;187&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,040&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;983&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;221&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: 2px solid rgb(0, 0, 0); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,204&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 28%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: 9pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&#160;Total net sales&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;7,765&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;2,922&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,687&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,597&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;4,673&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;22,270&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:DisaggregationOfRevenueTableTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_cfe04850bfa445b89af2cfc0cd2c0e92"
      unitRef="U002">3023000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_57d93f45562d4c50a44c2f609696a92a"
      unitRef="U002">277000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_FoodServiceTechnologyMember"
      decimals="-3"
      id="Fact_11e1f1c21a404634874aa5c0059576b7"
      unitRef="U002">3300000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_ef3a5049338a49a29f148099e32b41f1"
      unitRef="U002">3263000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_bc61fba8ea454a5c9c832ac612831bb7"
      unitRef="U002">195000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_FoodServiceTechnologyMember"
      decimals="-3"
      id="Fact_6d423799e928455a817ab5aca7a29c95"
      unitRef="U002">3458000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_8a929a4ef7c74223accc444554117a04"
      unitRef="U002">651000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_32444184993440beaf04a9a77633ea8d"
      unitRef="U002">0</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_PosAutomationAndBankingMember"
      decimals="-3"
      id="Fact_a7ebf791ec99428c932985d239a8c7ac"
      unitRef="U002">651000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_46cdc395bb3943a1bce794068dfc4210"
      unitRef="U002">1782000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_5703de47857844bfbcd270d0ceac4cd4"
      unitRef="U002">15000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_PosAutomationAndBankingMember"
      decimals="-3"
      id="Fact_85bc19daa7dd49f6bc3ced1d31a8f3c9"
      unitRef="U002">1797000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_45f5aeeaf8034ef490d85a5c15388966"
      unitRef="U002">3238000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_5deb565916f04bb0b227f3c2601e108b"
      unitRef="U002">2458000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_CasinoAndGamingMember"
      decimals="-3"
      id="Fact_4e02347ca1b24101af8115216cfc4985"
      unitRef="U002">5696000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_596e36f31b334654962205dfd6f1e112"
      unitRef="U002">11569000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_a26f1ffbc2604d688ac8ae22f3ac5037"
      unitRef="U002">4242000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_CasinoAndGamingMember"
      decimals="-3"
      id="Fact_dcdc5094e65a43fb94c559cc715ba41c"
      unitRef="U002">15811000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_a161ef82f25e4ac18264838e8a336bb5"
      unitRef="U002">853000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_0e6b8685c52b4f5a8b321492d48c0aef"
      unitRef="U002">187000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_ProductOrServiceAxis_TransactServicesGroupMember"
      decimals="-3"
      id="Fact_f80ee60cd66741498cbd9fabf505dccb"
      unitRef="U002">1040000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_80d205effb6a4c15a3c471435663c48d"
      unitRef="U002">983000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_8dd255ec494b44929e371fe616b77a58"
      unitRef="U002">221000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_ProductOrServiceAxis_TransactServicesGroupMember"
      decimals="-3"
      id="Fact_dd28d82ebf504c8aba9afd0c417c08b0"
      unitRef="U002">1204000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_0e83048c35f44cf6b8ca33bf275c59a6"
      unitRef="U002">7765000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_07c71b9f7c2b41d59bb7f5731d4313e7"
      unitRef="U002">2922000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_e6508dfe6446455b896f9c9d873a044f"
      unitRef="U002">10687000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_StatementGeographicalAxis_US"
      decimals="-3"
      id="Fact_3fab8cf476c64802adcf1a3b037fd064"
      unitRef="U002">17597000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331_StatementGeographicalAxis_InternationalMember"
      decimals="-3"
      id="Fact_9b1f25e3df93400c89fa6bbb1eb709b2"
      unitRef="U002">4673000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_807e36b008524eed82eb81f35313b772"
      unitRef="U002">22270000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <tact:ContractWithCustomerRevenueRecognized
      contextRef="c20240101to20240331"
      decimals="-5"
      id="Fact_4432d99c23244aaf88ea2d64fc94d5dd"
      unitRef="U002">400000</tact:ContractWithCustomerRevenueRecognized>
    <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock
      contextRef="c20240101to20240331"
      id="Text_e5537ba137a64ded869295c755d2d206">&lt;span style="font-family: 'Times New Roman'; font-size: 10pt; color: #000000;"&gt;Total net
        contract liabilities consisted of the following:&lt;/span&gt;
&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31, 2024&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;155&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;145&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Unbilled receivables, net of current portion&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;103&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;120&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;(123&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(155&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;(925&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,079&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Deferred revenue, net of current portion&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;(196&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(209&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total net contract liabilities&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;(986&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,178&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_91a4f6a8a1f140cbb71607775fb10491"
      unitRef="U002">155000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_981be15778794803895b733865ae5179"
      unitRef="U002">145000</us-gaap:ContractWithCustomerAssetNetCurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_7185132b02d64bcc834478634a857802"
      unitRef="U002">103000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <us-gaap:ContractWithCustomerAssetNetNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_1803c709014b4772a9fe17486358b7d6"
      unitRef="U002">120000</us-gaap:ContractWithCustomerAssetNetNoncurrent>
    <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_edfe92dc6a4746d4a7b62325be38f99f"
      unitRef="U002">123000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
    <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b5acee55d2e34475922c11a530d3461f"
      unitRef="U002">155000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_fd5273754b0e4584ae4d8713f3007b2a"
      unitRef="U002">925000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityCurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_05a29edccd9b454fb17e5c4c0523c356"
      unitRef="U002">1079000</us-gaap:ContractWithCustomerLiabilityCurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20240331"
      decimals="-3"
      id="Fact_b9f80703c861495991b614684379d8a2"
      unitRef="U002">196000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <us-gaap:ContractWithCustomerLiabilityNoncurrent
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f50456a995bf4ed1839c925df294674f"
      unitRef="U002">209000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
    <tact:ContractWithCustomerAssetLiabilityNet
      contextRef="c20240331"
      decimals="-3"
      id="Fact_6a9a01cb793647a99f5d55aa1e5a8086"
      unitRef="U002">-986000</tact:ContractWithCustomerAssetLiabilityNet>
    <tact:ContractWithCustomerAssetLiabilityNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7f3880bad9484f9fb1c960f8a0a7485e"
      unitRef="U002">-1178000</tact:ContractWithCustomerAssetLiabilityNet>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20240331"
      decimals="-5"
      id="Fact_8c251578925e4f01a547c7c7d502ac95"
      unitRef="U002">6800000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240401Member"
      decimals="-5"
      id="Fact_b68b96f9769d44abaf09562ee7fdb404"
      unitRef="U002">6500000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1
      contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20240401Member"
      id="Fact_fae1e74ad08c4f7ba7fe0e0187ba392c">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
    <us-gaap:RevenueRemainingPerformanceObligation
      contextRef="c20240331_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20250401Member"
      decimals="-5"
      id="Fact_c5b14e6d54d74aa1bcb70ea0efa19d33"
      unitRef="U002">200000</us-gaap:RevenueRemainingPerformanceObligation>
    <us-gaap:InventoryDisclosureTextBlock
      contextRef="c20240101to20240331"
      id="Text_31bddd481f0441e0a56938eb192198ce">
&lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;4. Inventories&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of inventories were:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31, 2024&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Raw materials and purchased component parts&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;10,644&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,382&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Finished goods&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;8,527&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,377&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;19,171&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,759&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock
      contextRef="c20240101to20240331"
      id="Text_4c80a8d345cf46a2aabb3c378fa55e8d">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The components of inventories were:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31, 2024&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Raw materials and purchased component parts&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;10,644&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,382&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Finished goods&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;8,527&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;8,377&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;19,171&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;17,759&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves
      contextRef="c20240331"
      decimals="-3"
      id="Fact_49b36959d3e547bcb28f0580d4b970b6"
      unitRef="U002">10644000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
    <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves
      contextRef="c20231231"
      decimals="-3"
      id="Fact_87f5c8c0a2cf4409a2235f2ed8bb4346"
      unitRef="U002">9382000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="c20240331"
      decimals="-3"
      id="Fact_c9519ce154ce4852838552194122e815"
      unitRef="U002">8527000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="c20231231"
      decimals="-3"
      id="Fact_b98c9700bbff45368f8de11bca11356b"
      unitRef="U002">8377000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryNet
      contextRef="c20240331"
      decimals="-3"
      id="Fact_a75db07c4953468cb6425aa5721d881a"
      unitRef="U002">19171000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet
      contextRef="c20231231"
      decimals="-3"
      id="Fact_7568f583e8cc431ca0a2864340c1f0de"
      unitRef="U002">17759000</us-gaap:InventoryNet>
    <us-gaap:DebtDisclosureTextBlock
      contextRef="c20240101to20240331"
      id="Text_d638c05632344998a9a0996ac4073d88">
&lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;5. &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 700; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;Borrowings&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic; font-weight: bold;"&gt;Credit Facility&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On March 13, 2020, &lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;we entered into&lt;span style="font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; text-align: justify; text-indent: 0px; word-spacing: 0px; white-space: normal; text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt; the Loan and Security Agreement governing&lt;/span&gt; a credit facility (the &#x201c;Sien&lt;/span&gt;a Credit Facility&#x201d;) with Siena Lending Group
      LLC (the &#x201c;Lender&#x201d;).&#160; The Siena Credit Facility provides for a revolving credit line of up to $10.0 million and was originally scheduled to
      expire on March 13, 2023, prior to being extended, as discussed below. 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%. The total deferred financing costs related to expenses incurred to complete the Siena Credit Facility were $245 thousand which were reported as &#x201c;Other current assets&#x201d; in current assets and &#x201c;Other assets&#x201d; in non-current assets in the Condensed Consolidated
      Balance Sheets. We also pay a fee of 0.50% on unused borrowings under the Siena Credit Facility. Borrowings under the Siena Credit
      Facility are secured by a lien on substantially all the assets of the Company. &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman', Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: justify; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;Borrowings under the Siena Credit Facility are subject to a&lt;/span&gt; &lt;/span&gt;borrowing base based on 85% of eligible accounts receivable plus the lesser of (a) $5.0
      million and (b) 50% of eligible raw material and 60% of finished goods inventory. &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The Siena Credit Facility imposes a financial covenant on the Company and restricts, among other things, our ability to incur additional indebtedness and create other
      liens. On July 21, 2021, the Company entered into an amendment (&#x201c;Siena Credit Facility Amendment No. 1&#x201d;) to the Siena Credit Facility. Siena Credit Facility Amendment No. 1 changed the financial covenant under the Siena Credit Facility from a minimum
      EBITDA covenant to an excess availability covenant requiring that the Company maintain excess availability of at least $750 thousand under
      the Siena Credit Facility, tested as of the end of each calendar month, beginning with the calendar month ended July 31, 2021. From July 31, 2021 through March 31, 2024, we remained in compliance with our excess availability covenant. As of March 31, 2024, we had $2.3 million of outstanding borrowings under the Siena Credit Facility and $3.0 million of net borrowing capacity available under the Siena Credit Facility.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On July 19, 2022, the Company and the Lender entered into Amendment No. 2 (&#x201c;Siena Credit Facility Amendment No. 2&#x201d;) to the Siena Credit Facility as amended by Siena
      Credit Facility Amendment No. 1.&#160; Also on July 19, 2022, the Company and the Lender entered into an Amended and Restated Fee Letter (the &#x201c;Amended Fee Letter&#x201d;) in connection with Siena Credit Facility Amendment No. 2. Siena Credit Facility Amendment
      No. 2 did not modify the aggregate amount of the revolving commitment or the interest rate applicable to the loans&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The changes to the Siena Credit Facility provided for in Siena Credit Facility Amendment No. 2 include, among other things, the following:&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div&gt;
        &lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 36pt; vertical-align: top; text-align: right;"&gt;
                &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(i)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
                &lt;div style="text-align: justify; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The extension of the maturity date from March 13, 2023 to March 13, 2025; and&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
      &lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div&gt;
        &lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman'; font-size: 10pt; width: 100%; text-align: left; color: #000000;"&gt;


  &lt;tr&gt;

    &lt;td style="width: 36pt; vertical-align: top; text-align: right;"&gt;
                &lt;div style="text-align: left; margin-left: 18pt; color: #000000; font-family: 'Times New Roman'; font-size: 10pt;"&gt;(ii)&lt;/div&gt;
              &lt;/td&gt;

    &lt;td style="width: auto; vertical-align: top;"&gt;
                &lt;div style="color: #000000; font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;The termination of the existing blocked account control agreement and entry into a new &#x201c;springing&#x201d; deposit account control agreement,
                  permitting the Company to direct the use of funds in its deposit account until such time as (a) the sum of excess availability under the Siena Credit Facility as amended and unrestricted cash is less than $5 million for 3 consecutive
                  business days or (b) an event of default occurs and is continuing.&lt;/div&gt;
              &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
      &lt;/div&gt;

&lt;div style="display:none;"&gt;&lt;br/&gt;&lt;/div&gt;
&lt;div style="text-align: justify; text-indent: -18pt; margin-left: 36pt;"&gt;&lt;br/&gt;
      &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;In addition, the Amended Fee Letter requires the Company, while it retains the ability to direct the use of funds in the deposit account, to maintain outstanding
      borrowings of at least $2,250,000 in principal amount. If the Company does not have the ability to direct the use of funds in the deposit
      account, then the Amended Fee Letter requires the Company to pay interest on at least $2,250,000 principal amount of loans, whether or not
      such amount of loans is actually outstanding.&lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt; &lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;On May 1, 2023, the Company and the Lender agreed to a letter amendment to the Loan and Security Agreement governing the Siena Credit Facility. &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman',Times,serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;Prior to such amendment,&lt;/span&gt; Section 7.1(m) of the Loan
        and Security Agreement governing the Siena Credit Facility required that any successor to the Company&#x2019;s former Chief Executive Officer be reasonably acceptable to the Lender. This amendment confirmed that Mr. John Dillon, the Company&#x2019;s current
        Chief Executive Officer, is an acceptable successor, and applied the same requirement to any future successor to Mr. Dillon &lt;span style="color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; text-indent: 0px; text-transform: none; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline ! important; float: none;"&gt;as Chief Executive Officer&lt;/span&gt;.&lt;/div&gt;
</us-gaap:DebtDisclosureTextBlock>
    <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity
      contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_5196606003c542cb87780f2513c7412a"
      unitRef="U002">10000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_PrimeRateMember"
      decimals="4"
      id="Fact_6e112370942047bb99c76d6475ef1583"
      unitRef="U004">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1
      contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember"
      decimals="4"
      id="Fact_a494f144f57e429a95ed024326ae23f2"
      unitRef="U004">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
    <us-gaap:DebtInstrumentInterestRateStatedPercentage
      contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="4"
      id="Fact_81de1f78ed244fe7b12a46857458c0b0"
      unitRef="U004">0.065</us-gaap:DebtInstrumentInterestRateStatedPercentage>
    <us-gaap:DeferredFinanceCostsGross
      contextRef="c20200313_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-3"
      id="Fact_6d72a6c4a76a4c0fb8cba883ad96ee67"
      unitRef="U002">245000</us-gaap:DeferredFinanceCostsGross>
    <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage
      contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="4"
      id="Fact_35e69dc4d9b441828aaf43bb344e9d68"
      unitRef="U004">0.005</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
    <tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable
      contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_d7ffcc2d0374435db20f0a474630d9cc"
      unitRef="U004">0.85</tact:DebtInstrumentFinancialCovenantEligibleAccountsReceivable>
    <tact:DebtInstrumentFinancialCovenantEligibleInventory
      contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_59d12669c3de411abf5b6b8cfb31f1dc"
      unitRef="U002">5000000</tact:DebtInstrumentFinancialCovenantEligibleInventory>
    <tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage
      contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_027536e3bf25429b924bb6735780fb0f"
      unitRef="U004">0.50</tact:DebtInstrumentFinancialCovenantEligibleInventoryRawMaterialPercentage>
    <tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage
      contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="2"
      id="Fact_40aa374b657c4476b571764f2773da10"
      unitRef="U004">0.60</tact:DebtInstrumentFinancialCovenantEligibleInventoryFinishedGoodsInventoryPercentage>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="c20210721_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember_RangeAxis_MinimumMember"
      decimals="-3"
      id="Fact_3690ad98df5f49f2980925d6393838cd"
      unitRef="U002">750000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <us-gaap:SecuredDebt
      contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_811590a176b94f63a13365bdd1fe1022"
      unitRef="U002">2300000</us-gaap:SecuredDebt>
    <us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity
      contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-5"
      id="Fact_928707ca14d647749d94ae3d10f00d92"
      unitRef="U002">3000000</us-gaap:LineOfCreditFacilityRemainingBorrowingCapacity>
    <tact:DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash
      contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="-6"
      id="Fact_480c055959fb4004ad6f8346b4963123"
      unitRef="U002">5000000</tact:DebtInstrumentMinimumExcessAvailabilityAndUnrestrictedCash>
    <tact:DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash
      contextRef="c20240101to20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      id="Fact_9179473b03df469887d0c75a69dbc097">P3D</tact:DebtInstrumentPeriodToMaintainExcessAvailabilityAndUnrestrictedCash>
    <tact:DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount
      contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="0"
      id="Fact_a50c1082a8f84dd29aa8c1700f032a61"
      unitRef="U002">2250000</tact:DebtInstrumentMinimumPrincipalAmountToBeMaintainedToDirectUseOfFundsInDepositAccount>
    <tact:DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid
      contextRef="c20240331_DebtInstrumentAxis_RevolvingCreditFacilitySienaLendingGroupLlcMember"
      decimals="0"
      id="Fact_7b021be6dceb4609b451ae6779160fe7"
      unitRef="U002">2250000</tact:DebtInstrumentMinimumPrincipalAmountOnWhichInterestIsPaid>
    <us-gaap:EarningsPerShareTextBlock
      contextRef="c20240101to20240331"
      id="Text_a11a5a36bbad4987bd79a609d91d4e3c">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;6. Earnings per share&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following table sets forth the reconciliation of basic and diluted weighted average shares outstanding :&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2024&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands, except per-share data)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net (loss) income&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,036&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,139&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Shares:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic:&#160; Weighted average common shares outstanding&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,972&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,930&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Add:&#160; Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;-&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;113&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted:&#160; Weighted average common and common equivalent shares outstanding&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,972&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,043&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net (loss) income per common share:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.10&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.32&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.10&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.31&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options and restricted stock units, when the
      average market price of the common stock is lower than the exercise price of the related stock award during the period, as the inclusion of these stock awards in the computation of diluted earnings would be anti-dilutive. For the three months ended March 31, 2024, there were 89 thousand
      of potentially dilutive shares consisting of stock awards that were excluded from the calculation of earnings per diluted share.&#160; Furthermore, in&#160; periods when a net loss is reported, such as the three months ended March 31, 2024, basic and diluted
      net loss per common share are calculated using the same method.&lt;/div&gt;
</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock
      contextRef="c20240101to20240331"
      id="Text_13bcc76aace54a8faeb5be1315fa5016">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following table sets forth the reconciliation of basic and diluted weighted average shares outstanding :&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31,&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2024&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-style: italic;"&gt;(In thousands, except per-share data)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net (loss) income&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(1,036&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;3,139&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Shares:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic:&#160; Weighted average common shares outstanding&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,972&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,930&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Add:&#160; Dilutive effect of outstanding options and restricted stock units as determined by the treasury stock method&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;-&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;113&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; text-indent: -27pt; margin-left: 27pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted:&#160; Weighted average common and common equivalent shares outstanding&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;9,972&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;10,043&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Net (loss) income per common share:&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; font-weight: normal;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; font-weight: normal; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Basic&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.10&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.32&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Diluted&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;(0.10&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div style="font-weight: normal;"&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;0.31&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:NetIncomeLoss
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_09ac5ba00c0f49bd834d207f25da47e0"
      unitRef="U002">-1036000</us-gaap:NetIncomeLoss>
    <us-gaap:NetIncomeLoss
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_864ca8d3489f4d1da28d41a3ee2107eb"
      unitRef="U002">3139000</us-gaap:NetIncomeLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_e283b26caf1f43f3be106cc9c277f783"
      unitRef="U001">9972000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_c04269c050604f508a551791c795b7f0"
      unitRef="U001">9930000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_8603fa51c39944e38949cb27ed2b743c"
      unitRef="U001">0</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_65e81271196e4247b8bf56a739c51680"
      unitRef="U001">113000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_191dd1e81951463b914b1684d2b36660"
      unitRef="U001">9972000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_37224d693f1a4cfdbabc934c21fe5d63"
      unitRef="U001">10043000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20240101to20240331"
      decimals="2"
      id="Fact_45477ab811e94011a64ed8b6ada2724f"
      unitRef="U003">-0.1</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="c20230101to20230331"
      decimals="2"
      id="Fact_37aacccef2e642268d4cef755f9f7d71"
      unitRef="U003">0.32</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20240101to20240331"
      decimals="2"
      id="Fact_6161d660474043aab452668170301511"
      unitRef="U003">-0.1</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="c20230101to20230331"
      decimals="2"
      id="Fact_0c7ac0d657004d38b5d7e6ba607c8cd0"
      unitRef="U003">0.31</us-gaap:EarningsPerShareDiluted>
    <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount
      contextRef="c20240101to20240331_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember"
      decimals="-3"
      id="Fact_aece6e09a12f43dabc3ccb40decd21c0"
      unitRef="U001">89000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
    <us-gaap:LesseeOperatingLeasesTextBlock
      contextRef="c20240101to20240331"
      id="Text_b9e09ee9f84a4b47b4a233230bf89b3b">
&lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;7. Leases&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We account for leases in accordance with ASC Topic 842: &lt;span style="font-style: italic;"&gt;Leases&lt;/span&gt;.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;We enter into lease agreements for the use of real estate space and certain equipment under operating leases and we have no financing leases. Our leases are included in
      &#x201c;Right-of-use-assets&#x201d; and &#x201c;Lease liabilities&#x201d; in our Condensed Consolidated Balance Sheets.&#160; Our leases have various lease terms, some of which include options to extend. Lease expense is recognized on a straight-line basis over the lease term.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating lease expense for the three months ended March 31, 2024
      and 2023 was $282
      thousand and $237 thousand, respectively, and is reported as &#x201c;Cost of sales&#x201d;, &#x201c;Engineering, design and product development expense&#x201d;,
      &#x201c;Selling and marketing expense&#x201d;, and &#x201c;General and administrative expense&#x201d; in the Condensed Consolidated Statements of Operations. Operating lease expenses include short-term lease costs, which were immaterial during the periods presented.&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; 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&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31,&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2024&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating cash outflows from leases&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;257&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;252&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following summarizes additional information related to our leases as of March 31, 2024 and December 31, 2023:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31, 2024&lt;br/&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Weighted average remaining lease term (in years)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;1.5&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.7&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Weighted average discount rate&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;4.4&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.4&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The maturity of the Company&#x2019;s operating lease liabilities as of March 31, 2024 and December 31, 2023 were as follows (in thousands):&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31, 2024&lt;br/&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2024&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;br/&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;727&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;985&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2025&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;712&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;713&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2026&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;22&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;22&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total undiscounted lease payments&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;1,461&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,720&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Less imputed interest&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;52&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;71&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total lease liabilities&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;1,409&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,649&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:LesseeOperatingLeasesTextBlock>
    <us-gaap:OperatingLeaseExpense
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_40215de1d43b4a7c978866138adcf63e"
      unitRef="U002">282000</us-gaap:OperatingLeaseExpense>
    <us-gaap:OperatingLeaseExpense
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_b0adf29a88fd415890d3faaee32c03b1"
      unitRef="U002">237000</us-gaap:OperatingLeaseExpense>
    <tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock
      contextRef="c20240101to20240331"
      id="Text_1f45e10836124f919d29e35a5000c1c3">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; 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&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;Three Months Ended&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td rowspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="6" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31,&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2024&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Operating cash outflows from leases&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;257&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;252&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock>
    <us-gaap:OperatingLeasePayments
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_7c0ce1dd87e64677b7a491fb0661ff40"
      unitRef="U002">257000</us-gaap:OperatingLeasePayments>
    <us-gaap:OperatingLeasePayments
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_cc8a121c918a4af1ad6f4a146e63dfd9"
      unitRef="U002">252000</us-gaap:OperatingLeasePayments>
    <tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock
      contextRef="c20240101to20240331"
      id="Text_eb794ce20ce74cf7b3c2d9408421fb1a">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The following summarizes additional information related to our leases as of March 31, 2024 and December 31, 2023:&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt; &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31, 2024&lt;br/&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Weighted average remaining lease term (in years)&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;1.5&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1.7&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Weighted average discount rate&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;4.4&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;4.4&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;%&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</tact:LesseeOperatingLeaseLeaseTermAndDiscountRateTableTextBlock>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20240331"
      id="Fact_d8d0ae144c804914be405c0404ce7557">P1Y6M</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1
      contextRef="c20231231"
      id="Fact_3e5e4d15696142f8839df9dd3546901b">P1Y8M12D</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20240331"
      decimals="3"
      id="Fact_ee7d8495d8e04b4eb60531ee3787dfea"
      unitRef="U004">0.044</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent
      contextRef="c20231231"
      decimals="3"
      id="Fact_f7dbd8a903624b398127ee38f3e0d911"
      unitRef="U004">0.044</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
    <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock
      contextRef="c20240101to20240331"
      id="Text_19becef6126e41c09c60350897607a13">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;The maturity of the Company&#x2019;s operating lease liabilities as of March 31, 2024 and December 31, 2023 were as follows (in thousands):&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;table cellpadding="0" cellspacing="0" class="cfttable" style="font-family: 'Times New Roman'; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;


  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; padding-bottom: 2px;" valign="bottom"&gt;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;March 31, 2024&lt;br/&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="2" style="vertical-align: bottom; border-bottom: #000000 solid 2px; white-space: nowrap;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: center; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;December 31, 2023&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2024&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;&lt;br/&gt;
              &lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;727&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;985&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2025&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;712&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;713&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;2026&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;22&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; background-color: rgb(204, 238, 255); border-bottom: 2px solid rgb(0, 0, 0);" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;22&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; background-color: rgb(204, 238, 255); padding-bottom: 2px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total undiscounted lease payments&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;1,461&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,720&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Less imputed interest&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;52&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;71&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;

  &lt;tr&gt;

    &lt;td style="vertical-align: bottom; width: 76%; padding-bottom: 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="text-align: left; margin-left: 13.45pt; font-family: 'Times New Roman'; font-size: 10pt;"&gt;Total lease liabilities&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div&gt;
              &lt;div style="font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;1,409&lt;/div&gt;
            &lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px;" valign="bottom"&gt;&#160;&lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;$&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px;" valign="bottom"&gt;
            &lt;div style="font-family: 'Times New Roman'; font-size: 10pt;"&gt;1,649&lt;/div&gt;
          &lt;/td&gt;

    &lt;td colspan="1" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; white-space: nowrap;" valign="bottom"&gt;&#160;&lt;/td&gt;

  &lt;/tr&gt;


&lt;/table&gt;
</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="c20240331"
      decimals="-3"
      id="Fact_d0bbd6d6bbb149d09efcca7a206c36ce"
      unitRef="U002">727000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c26c2f408c35416fa84d3428457da667"
      unitRef="U002">985000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsRemainderOfFiscalYear>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="c20240331"
      decimals="-3"
      id="Fact_06dbfb1cf23140ae9789cc79afe3fb02"
      unitRef="U002">712000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths
      contextRef="c20231231"
      decimals="-3"
      id="Fact_fb91632efcb44ba1a88bb4dfb813eae5"
      unitRef="U002">713000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="c20240331"
      decimals="-3"
      id="Fact_d00f883d93354296a8a9e43555831acd"
      unitRef="U002">22000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo
      contextRef="c20231231"
      decimals="-3"
      id="Fact_00daf5ce2a7a4ca8965b2ae34dcf7cec"
      unitRef="U002">22000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="c20240331"
      decimals="-3"
      id="Fact_c495f75168c64b2ea075f39bfbe0334a"
      unitRef="U002">1461000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue
      contextRef="c20231231"
      decimals="-3"
      id="Fact_14277b60eaae4818865175aab3843dbb"
      unitRef="U002">1720000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="c20240331"
      decimals="-3"
      id="Fact_583c2ace8fb84e2c97e27286bcfb325f"
      unitRef="U002">52000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount
      contextRef="c20231231"
      decimals="-3"
      id="Fact_c5f37fecf3374bc9998e909528674379"
      unitRef="U002">71000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
    <us-gaap:OperatingLeaseLiability
      contextRef="c20240331"
      decimals="-3"
      id="Fact_5c90067493154e7a8275f5583d0469a7"
      unitRef="U002">1409000</us-gaap:OperatingLeaseLiability>
    <us-gaap:OperatingLeaseLiability
      contextRef="c20231231"
      decimals="-3"
      id="Fact_f8079072c34b44f9b45429fde2b2adbe"
      unitRef="U002">1649000</us-gaap:OperatingLeaseLiability>
    <us-gaap:IncomeTaxDisclosureTextBlock
      contextRef="c20240101to20240331"
      id="Text_30e5594b386d46d290be86b035f7ff1f">
&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;8. Income taxes&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="background-color: rgb(255, 255, 255); font-weight: normal; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-size: 10pt; font-style: normal; font-variant: normal; text-transform: none;"&gt;We recorded an income tax benefit in the first quarter of 2024 of $277 thousand at an
        effective tax rate of (21.1%) compared to an income tax expense in the first quarter of 2023 of $629 thousand at an effective tax rate of 16.7%.&lt;/span&gt;&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="text-align: justify; font-family: 'Times New Roman'; font-size: 10pt;"&gt;&lt;span style="font-size: 10pt; font-family: 'Times New Roman';"&gt;We are subject to U.S. federal income tax, as well as income tax in certain U.S. state and foreign
        jurisdictions.&#160; We have substantially concluded all U.S. federal, state and local income tax, and foreign tax regulatory examination matters through 2019.&#160; However, our federal tax returns for the years 2020 through 2023 remain open to examination.
        Various U.S. state and foreign tax jurisdiction tax years remain open to examination as well, but we believe that any additional assessment would be immaterial to the Condensed Consolidated Financial Statements. The Company maintains a valuation
        allowance against certain deferred tax assets where realization is not certain.&lt;/span&gt;&lt;/div&gt;
</us-gaap:IncomeTaxDisclosureTextBlock>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20240101to20240331"
      decimals="-3"
      id="Fact_4a1c284bf5904a9d8dfa08d8d0deb69f"
      unitRef="U002">-277000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20240101to20240331"
      decimals="3"
      id="Fact_bf8b4ad06da84d76963d91a73c1569ec"
      unitRef="U004">-0.211</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="c20230101to20230331"
      decimals="-3"
      id="Fact_11a02ab6997548b180df4f7b9fe187ed"
      unitRef="U002">629000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:EffectiveIncomeTaxRateContinuingOperations
      contextRef="c20230101to20230331"
      decimals="3"
      id="Fact_c38785961de54b0091a3af86d57fe8cd"
      unitRef="U004">0.167</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
    <us-gaap:SubsequentEventsTextBlock
      contextRef="c20240101to20240331"
      id="Text_e129fbce56dc49a4a3b033f7079d8e84">
&lt;div style="text-align: left; font-family: 'Times New Roman'; font-size: 10pt; font-weight: bold;"&gt;9. Subsequent events&lt;/div&gt;

&lt;div&gt;&lt;br/&gt;
    &lt;/div&gt;

&lt;div style="font-family: 'Times New Roman'; font-size: 10pt; text-align: justify;"&gt;The Company has evaluated all events or transactions that occurred up to the date the Condensed Consolidated Financial Statements were available to be issued.&#160; Based
          upon this review, the Company did not identify any subsequent events that would have required adjustment or disclosure in the Condensed Consolidated Financial Statements.&lt;/div&gt;
</us-gaap:SubsequentEventsTextBlock>
    <ecd:NonRule10b51ArrAdoptedFlag
      contextRef="c20240101to20240331"
      id="Fact_9d820046d1414f1f816833c2f47d3176">false</ecd:NonRule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrAdoptedFlag
      contextRef="c20240101to20240331"
      id="Fact_587d81b6d883467dabc2323d67e05dc5">false</ecd:Rule10b51ArrAdoptedFlag>
    <ecd:Rule10b51ArrTrmntdFlag
      contextRef="c20240101to20240331"
      id="Fact_da9f46453fd24a1c81ef5e881c5b82a2">false</ecd:Rule10b51ArrTrmntdFlag>
    <ecd:NonRule10b51ArrTrmntdFlag
      contextRef="c20240101to20240331"
      id="Fact_9541db862fd149caa1633b59d87e6f1d">false</ecd:NonRule10b51ArrTrmntdFlag>
</xbrl>
</XML>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
