<?xml version="1.0" encoding="utf-8"?>
<xbrl
  xmlns="http://www.xbrl.org/2003/instance"
  xmlns:dei="http://xbrl.sec.gov/dei/2024"
  xmlns:fil="http://www.utahmed.com/20260630"
  xmlns:iso4217="http://www.xbrl.org/2003/iso4217"
  xmlns:link="http://www.xbrl.org/2003/linkbase"
  xmlns:srt="http://fasb.org/srt/2024"
  xmlns:us-gaap="http://fasb.org/us-gaap/2024"
  xmlns:xbrldi="http://xbrl.org/2006/xbrldi"
  xmlns:xlink="http://www.w3.org/1999/xlink">
    <link:schemaRef xlink:href="utmd-20260630.xsd" xlink:type="simple"/>
    <context id="D260101_260630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="E26Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="E25Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="I260811">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2026-08-11</instant>
        </period>
    </context>
    <context id="E25">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="Y26Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y25Q2">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="D250101_250630">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="E24">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E25_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="E25_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="E25_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="E25_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-12-31</instant>
        </period>
    </context>
    <context id="Y26Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="Y26Q1_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="Y26Q1_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="Y26Q1_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="Y26Q1_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-03-31</endDate>
        </period>
    </context>
    <context id="E26Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="E26Q1_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="E26Q1_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="E26Q1_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="E26Q1_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-03-31</instant>
        </period>
    </context>
    <context id="Y26Q2_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="E26Q2_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="E26Q2_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="E26Q2_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="E26Q2_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2026-06-30</instant>
        </period>
    </context>
    <context id="E24_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="E24_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2024-12-31</instant>
        </period>
    </context>
    <context id="Y25Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Y25Q1_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Y25Q1_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Y25Q1_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="Y25Q1_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-03-31</endDate>
        </period>
    </context>
    <context id="E25Q1">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="E25Q1_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="E25Q1_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="E25Q1_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="E25Q1_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-03-31</instant>
        </period>
    </context>
    <context id="Y25Q2_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="Y25Q2_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="Y25Q2_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="Y25Q2_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-04-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <context id="E25Q2_StEqComps-CommonStock">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="E25Q2_StEqComps-AddPaidInCap">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="E25Q2_StEqComps-ComprIncome">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:ComprehensiveIncomeMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="E25Q2_StEqComps-RetainedEarnings">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <instant>2025-06-30</instant>
        </period>
    </context>
    <context id="D260101_260630_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-Obstetrics">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-Obstetrics_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-Obstetrics_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-Obstetrics">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-GynecologyElectrosurgeryUrology">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-GynecologyElectrosurgeryUrology">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-Neonatal">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-Neonatal_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-Neonatal_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-Neonatal">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-BloodPressureMonitoringAndAccessories">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_ProductOrService-BloodPressureMonitoringAndAccessories">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="Y26Q2_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-04-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-Obstetrics_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-Obstetrics_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:ObstetricsMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:GynecologyElectrosurgeryUrologyMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-Neonatal_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-Neonatal_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:NeonatalMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-DomesticUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:DomesticUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-OutsideUs">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">fil:BloodPressureMonitoringAndAccessoriesMember</xbrldi:explicitMember>
                <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">fil:OutsideUsMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D260101_260630_StScenario-SingleOperatingSeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:SingleOperatingSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2026-01-01</startDate>
            <endDate>2026-06-30</endDate>
        </period>
    </context>
    <context id="D250101_250630_StScenario-SingleOperatingSeg">
        <entity>
            <identifier scheme="http://www.sec.gov/CIK">0000706698</identifier>
            <segment>
                <xbrldi:explicitMember dimension="srt:StatementScenarioAxis">fil:SingleOperatingSegmentMember</xbrldi:explicitMember>
            </segment>
        </entity>
        <period>
            <startDate>2025-01-01</startDate>
            <endDate>2025-06-30</endDate>
        </period>
    </context>
    <unit id="USD">
        <measure>iso4217:USD</measure>
    </unit>
    <unit id="Shares">
        <measure>shares</measure>
    </unit>
    <unit id="UsdPerShare">
        <divide>
            <unitNumerator>
                <measure>iso4217:USD</measure>
            </unitNumerator>
            <unitDenominator>
                <measure>shares</measure>
            </unitDenominator>
        </divide>
    </unit>
    <unit id="Pure">
        <measure>pure</measure>
    </unit>
    <dei:EntityCentralIndexKey contextRef="D260101_260630" id="fact1">0000706698</dei:EntityCentralIndexKey>
    <dei:CurrentFiscalYearEndDate contextRef="D260101_260630" id="fact2">--12-31</dei:CurrentFiscalYearEndDate>
    <dei:EntityCurrentReportingStatus contextRef="D260101_260630" id="fact3">Yes</dei:EntityCurrentReportingStatus>
    <dei:AmendmentFlag contextRef="D260101_260630" id="fact4">false</dei:AmendmentFlag>
    <dei:DocumentFiscalYearFocus contextRef="D260101_260630" id="fact5">2026</dei:DocumentFiscalYearFocus>
    <dei:DocumentFiscalPeriodFocus contextRef="D260101_260630" id="fact6">Q2</dei:DocumentFiscalPeriodFocus>
    <dei:DocumentType contextRef="D260101_260630" id="ixv-6570">10-Q</dei:DocumentType>
    <dei:DocumentQuarterlyReport contextRef="D260101_260630" id="ixv-6571">true</dei:DocumentQuarterlyReport>
    <dei:DocumentPeriodEndDate contextRef="D260101_260630" id="ixv-6572">2026-06-30</dei:DocumentPeriodEndDate>
    <dei:DocumentTransitionReport contextRef="D260101_260630" id="ixv-6573">false</dei:DocumentTransitionReport>
    <dei:EntityFileNumber contextRef="D260101_260630" id="ixv-6574">001-12575</dei:EntityFileNumber>
    <dei:EntityRegistrantName contextRef="D260101_260630" id="ixv-6575">UTAH MEDICAL PRODUCTS INC</dei:EntityRegistrantName>
    <dei:EntityIncorporationStateCountryCode contextRef="D260101_260630" id="ixv-6576">UT</dei:EntityIncorporationStateCountryCode>
    <dei:EntityTaxIdentificationNumber contextRef="D260101_260630" id="ixv-6577">87-0342734</dei:EntityTaxIdentificationNumber>
    <dei:EntityAddressAddressLine1 contextRef="D260101_260630" id="ixv-6578">7043 South 300 West</dei:EntityAddressAddressLine1>
    <dei:EntityAddressCityOrTown contextRef="D260101_260630" id="ixv-6579">Midvale</dei:EntityAddressCityOrTown>
    <dei:EntityAddressStateOrProvince contextRef="D260101_260630" id="ixv-6580">UT</dei:EntityAddressStateOrProvince>
    <dei:EntityAddressPostalZipCode contextRef="D260101_260630" id="ixv-6581">84047</dei:EntityAddressPostalZipCode>
    <dei:CityAreaCode contextRef="D260101_260630" id="ixv-6582">801</dei:CityAreaCode>
    <dei:LocalPhoneNumber contextRef="D260101_260630" id="ixv-6583">566-1200</dei:LocalPhoneNumber>
    <dei:Security12bTitle contextRef="D260101_260630" id="ixv-6584">Common stock, $0.01 par value</dei:Security12bTitle>
    <dei:TradingSymbol contextRef="D260101_260630" id="ixv-6585">UTMD</dei:TradingSymbol>
    <dei:SecurityExchangeName contextRef="D260101_260630" id="ixv-6586">NASDAQ</dei:SecurityExchangeName>
    <dei:EntityInteractiveDataCurrent contextRef="D260101_260630" id="ixv-6587">Yes</dei:EntityInteractiveDataCurrent>
    <dei:EntityFilerCategory contextRef="D260101_260630" id="ixv-6588">Non-accelerated Filer</dei:EntityFilerCategory>
    <dei:EntitySmallBusiness contextRef="D260101_260630" id="ixv-6589">true</dei:EntitySmallBusiness>
    <dei:EntityEmergingGrowthCompany contextRef="D260101_260630" id="ixv-6590">false</dei:EntityEmergingGrowthCompany>
    <dei:EntityShellCompany contextRef="D260101_260630" id="ixv-6591">false</dei:EntityShellCompany>
    <dei:EntityCommonStockSharesOutstanding
      contextRef="I260811"
      decimals="INF"
      id="ixv-6592"
      unitRef="Shares">3183818</dei:EntityCommonStockSharesOutstanding>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6593"
      unitRef="USD">87528000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="E25" decimals="-3" id="ixv-6594" unitRef="USD">85756000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
    <us-gaap:AccountsReceivableNetCurrent
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6595"
      unitRef="USD">3565000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:AccountsReceivableNetCurrent contextRef="E25" decimals="-3" id="ixv-6596" unitRef="USD">3522000</us-gaap:AccountsReceivableNetCurrent>
    <us-gaap:InventoryNet
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6597"
      unitRef="USD">9003000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E25" decimals="-3" id="ixv-6598" unitRef="USD">7935000</us-gaap:InventoryNet>
    <us-gaap:OtherAssetsCurrent
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6599"
      unitRef="USD">543000</us-gaap:OtherAssetsCurrent>
    <us-gaap:OtherAssetsCurrent contextRef="E25" decimals="-3" id="ixv-6600" unitRef="USD">529000</us-gaap:OtherAssetsCurrent>
    <us-gaap:AssetsCurrent
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6601"
      unitRef="USD">100639000</us-gaap:AssetsCurrent>
    <us-gaap:AssetsCurrent contextRef="E25" decimals="-3" id="ixv-6602" unitRef="USD">97742000</us-gaap:AssetsCurrent>
    <us-gaap:PropertyPlantAndEquipmentNet
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6603"
      unitRef="USD">9631000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:PropertyPlantAndEquipmentNet contextRef="E25" decimals="-3" id="ixv-6604" unitRef="USD">9908000</us-gaap:PropertyPlantAndEquipmentNet>
    <us-gaap:Goodwill
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6605"
      unitRef="USD">13956000</us-gaap:Goodwill>
    <us-gaap:Goodwill contextRef="E25" decimals="-3" id="ixv-6606" unitRef="USD">14052000</us-gaap:Goodwill>
    <us-gaap:FiniteLivedIntangibleAssetsGross
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6607"
      unitRef="USD">55459000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsGross contextRef="E25" decimals="-3" id="ixv-6608" unitRef="USD">55941000</us-gaap:FiniteLivedIntangibleAssetsGross>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6609"
      unitRef="USD">55113000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="E25" decimals="-3" id="ixv-6610" unitRef="USD">55101000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6611"
      unitRef="USD">346000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:IntangibleAssetsNetExcludingGoodwill contextRef="E25" decimals="-3" id="ixv-6612" unitRef="USD">840000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
    <us-gaap:Assets
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6613"
      unitRef="USD">124572000</us-gaap:Assets>
    <us-gaap:Assets contextRef="E25" decimals="-3" id="ixv-6614" unitRef="USD">122542000</us-gaap:Assets>
    <us-gaap:AccountsPayableCurrent
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6615"
      unitRef="USD">876000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccountsPayableCurrent contextRef="E25" decimals="-3" id="ixv-6616" unitRef="USD">911000</us-gaap:AccountsPayableCurrent>
    <us-gaap:AccruedLiabilitiesCurrent
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6617"
      unitRef="USD">1194000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:AccruedLiabilitiesCurrent contextRef="E25" decimals="-3" id="ixv-6618" unitRef="USD">1687000</us-gaap:AccruedLiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6619"
      unitRef="USD">2070000</us-gaap:LiabilitiesCurrent>
    <us-gaap:LiabilitiesCurrent contextRef="E25" decimals="-3" id="ixv-6620" unitRef="USD">2598000</us-gaap:LiabilitiesCurrent>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6621"
      unitRef="USD">0</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets contextRef="E25" decimals="-3" id="ixv-6622" unitRef="USD">114000</us-gaap:DeferredTaxLiabilitiesGoodwillAndIntangibleAssetsIntangibleAssets>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6623"
      unitRef="USD">195000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:LongTermDebtAndCapitalLeaseObligations contextRef="E25" decimals="-3" id="ixv-6624" unitRef="USD">225000</us-gaap:LongTermDebtAndCapitalLeaseObligations>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6625"
      unitRef="USD">274000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="E25" decimals="-3" id="ixv-6626" unitRef="USD">337000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
    <us-gaap:Liabilities
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6627"
      unitRef="USD">2539000</us-gaap:Liabilities>
    <us-gaap:Liabilities contextRef="E25" decimals="-3" id="ixv-6628" unitRef="USD">3274000</us-gaap:Liabilities>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="E26Q2"
      decimals="INF"
      id="ixv-6629"
      unitRef="UsdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockParOrStatedValuePerShare
      contextRef="E25"
      decimals="INF"
      id="ixv-6630"
      unitRef="UsdPerShare">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6631"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesAuthorized
      contextRef="E25"
      decimals="-3"
      id="ixv-6632"
      unitRef="Shares">50000000</us-gaap:CommonStockSharesAuthorized>
    <us-gaap:CommonStockSharesIssued
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6633"
      unitRef="Shares">3183000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6634"
      unitRef="Shares">3183000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockSharesIssued
      contextRef="E25"
      decimals="-3"
      id="ixv-6635"
      unitRef="Shares">3186000</us-gaap:CommonStockSharesIssued>
    <us-gaap:CommonStockSharesOutstanding
      contextRef="E25"
      decimals="-3"
      id="ixv-6636"
      unitRef="Shares">3186000</us-gaap:CommonStockSharesOutstanding>
    <us-gaap:CommonStockValue
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6637"
      unitRef="USD">32000</us-gaap:CommonStockValue>
    <us-gaap:CommonStockValue contextRef="E25" decimals="-3" id="ixv-6638" unitRef="USD">32000</us-gaap:CommonStockValue>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6639"
      unitRef="USD">-9953000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1 contextRef="E25" decimals="-3" id="ixv-6640" unitRef="USD">-9416000</us-gaap:AccumulatedOtherComprehensiveIncomeLossBeforeTax1>
    <us-gaap:AdditionalPaidInCapitalCommonStock
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6641"
      unitRef="USD">0</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:AdditionalPaidInCapitalCommonStock contextRef="E25" decimals="-3" id="ixv-6642" unitRef="USD">0</us-gaap:AdditionalPaidInCapitalCommonStock>
    <us-gaap:RetainedEarningsAccumulatedDeficit
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6643"
      unitRef="USD">131954000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:RetainedEarningsAccumulatedDeficit contextRef="E25" decimals="-3" id="ixv-6644" unitRef="USD">128652000</us-gaap:RetainedEarningsAccumulatedDeficit>
    <us-gaap:StockholdersEquity
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6645"
      unitRef="USD">122033000</us-gaap:StockholdersEquity>
    <us-gaap:StockholdersEquity contextRef="E25" decimals="-3" id="ixv-6646" unitRef="USD">119268000</us-gaap:StockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6647"
      unitRef="USD">124572000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:LiabilitiesAndStockholdersEquity contextRef="E25" decimals="-3" id="ixv-6648" unitRef="USD">122542000</us-gaap:LiabilitiesAndStockholdersEquity>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6649"
      unitRef="USD">8529000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6650"
      unitRef="USD">9953000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6651"
      unitRef="USD">17252000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6652"
      unitRef="USD">19663000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6653"
      unitRef="USD">3771000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6654"
      unitRef="USD">4358000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6655"
      unitRef="USD">7212000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:CostOfGoodsAndServicesSold
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6656"
      unitRef="USD">8530000</us-gaap:CostOfGoodsAndServicesSold>
    <us-gaap:GrossProfit
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6657"
      unitRef="USD">4758000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6658"
      unitRef="USD">5595000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6659"
      unitRef="USD">10040000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6660"
      unitRef="USD">11133000</us-gaap:GrossProfit>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6661"
      unitRef="USD">1955000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6662"
      unitRef="USD">2264000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6663"
      unitRef="USD">4517000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:SellingGeneralAndAdministrativeExpense
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6664"
      unitRef="USD">4495000</us-gaap:SellingGeneralAndAdministrativeExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6665"
      unitRef="USD">154000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6666"
      unitRef="USD">135000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6667"
      unitRef="USD">308000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6668"
      unitRef="USD">289000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:OperatingExpenses
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6669"
      unitRef="USD">2109000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6670"
      unitRef="USD">2399000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6671"
      unitRef="USD">4825000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingExpenses
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6672"
      unitRef="USD">4784000</us-gaap:OperatingExpenses>
    <us-gaap:OperatingIncomeLoss
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6673"
      unitRef="USD">2649000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6674"
      unitRef="USD">3196000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6675"
      unitRef="USD">5215000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6676"
      unitRef="USD">6349000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6677"
      unitRef="USD">637000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6678"
      unitRef="USD">640000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6679"
      unitRef="USD">1254000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:OtherNonoperatingIncomeExpense
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6680"
      unitRef="USD">1345000</us-gaap:OtherNonoperatingIncomeExpense>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6681"
      unitRef="USD">3286000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6682"
      unitRef="USD">3836000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6683"
      unitRef="USD">6469000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6684"
      unitRef="USD">7694000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6685"
      unitRef="USD">600000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6686"
      unitRef="USD">788000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6687"
      unitRef="USD">1179000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6688"
      unitRef="USD">1605000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6689"
      unitRef="USD">2686000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6690"
      unitRef="USD">3048000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6691"
      unitRef="USD">5290000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6692"
      unitRef="USD">6089000</us-gaap:ProfitLoss>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y26Q2"
      decimals="INF"
      id="ixv-6693"
      unitRef="UsdPerShare">0.84</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y25Q2"
      decimals="INF"
      id="ixv-6694"
      unitRef="UsdPerShare">0.94</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="D260101_260630"
      decimals="INF"
      id="ixv-6695"
      unitRef="UsdPerShare">1.66</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="D250101_250630"
      decimals="INF"
      id="ixv-6696"
      unitRef="UsdPerShare">1.86</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y26Q2"
      decimals="INF"
      id="ixv-6697"
      unitRef="UsdPerShare">0.84</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y25Q2"
      decimals="INF"
      id="ixv-6698"
      unitRef="UsdPerShare">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="D260101_260630"
      decimals="INF"
      id="ixv-6699"
      unitRef="UsdPerShare">1.66</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="D250101_250630"
      decimals="INF"
      id="ixv-6700"
      unitRef="UsdPerShare">1.86</us-gaap:EarningsPerShareDiluted>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6701"
      unitRef="Shares">3184000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6702"
      unitRef="Shares">3246000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6703"
      unitRef="Shares">3184000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6704"
      unitRef="Shares">3278000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6705"
      unitRef="Shares">3184000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6706"
      unitRef="Shares">3246000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6707"
      unitRef="Shares">3184000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6708"
      unitRef="Shares">3278000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y26Q2"
      decimals="INF"
      id="ixv-6709"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="Y25Q2"
      decimals="INF"
      id="ixv-6710"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="D260101_260630"
      decimals="INF"
      id="ixv-6711"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax
      contextRef="D250101_250630"
      decimals="INF"
      id="ixv-6712"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTranslationAdjustmentTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6713"
      unitRef="USD">-34000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6714"
      unitRef="USD">1828000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6715"
      unitRef="USD">-536000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6716"
      unitRef="USD">2546000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6717"
      unitRef="USD">2652000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6718"
      unitRef="USD">4876000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6719"
      unitRef="USD">4754000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ComprehensiveIncomeNetOfTax
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6720"
      unitRef="USD">8635000</us-gaap:ComprehensiveIncomeNetOfTax>
    <us-gaap:ProfitLoss
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6721"
      unitRef="USD">5290000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6722"
      unitRef="USD">6089000</us-gaap:ProfitLoss>
    <us-gaap:Depreciation
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6723"
      unitRef="USD">421000</us-gaap:Depreciation>
    <us-gaap:Depreciation
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6724"
      unitRef="USD">405000</us-gaap:Depreciation>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6725"
      unitRef="USD">478000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6726"
      unitRef="USD">1048000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6727"
      unitRef="USD">-12000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:ProvisionForDoubtfulAccounts
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6728"
      unitRef="USD">-7000</us-gaap:ProvisionForDoubtfulAccounts>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6729"
      unitRef="USD">30000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6730"
      unitRef="USD">26000</us-gaap:OperatingLeaseRightOfUseAssetAmortizationExpense>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6731"
      unitRef="USD">-178000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:DeferredIncomeTaxExpenseBenefit
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6732"
      unitRef="USD">-360000</us-gaap:DeferredIncomeTaxExpenseBenefit>
    <us-gaap:ShareBasedCompensation
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6733"
      unitRef="USD">192000</us-gaap:ShareBasedCompensation>
    <us-gaap:ShareBasedCompensation
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6734"
      unitRef="USD">168000</us-gaap:ShareBasedCompensation>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6735"
      unitRef="USD">0</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:DeferredTaxExpenseFromStockOptionsExercised
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6736"
      unitRef="USD">0</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
    <us-gaap:IncreaseDecreaseInAccountsReceivableAndOtherOperatingAssets
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6737"
      unitRef="USD">56000</us-gaap:IncreaseDecreaseInAccountsReceivableAndOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInAccountsReceivableAndOtherOperatingAssets
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6738"
      unitRef="USD">-409000</us-gaap:IncreaseDecreaseInAccountsReceivableAndOtherOperatingAssets>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6739"
      unitRef="USD">1130000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInInventories
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6740"
      unitRef="USD">-908000</us-gaap:IncreaseDecreaseInInventories>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6741"
      unitRef="USD">22000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6742"
      unitRef="USD">-145000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6743"
      unitRef="USD">-34000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccountsPayable
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6744"
      unitRef="USD">37000</us-gaap:IncreaseDecreaseInAccountsPayable>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6745"
      unitRef="USD">-487000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:IncreaseDecreaseInAccruedLiabilities
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6746"
      unitRef="USD">-1531000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6747"
      unitRef="USD">-798000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6748"
      unitRef="USD">1248000</us-gaap:AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6749"
      unitRef="USD">4492000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:NetCashProvidedByUsedInOperatingActivities
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6750"
      unitRef="USD">7337000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6751"
      unitRef="USD">264000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6752"
      unitRef="USD">235000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6753"
      unitRef="USD">-264000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:NetCashProvidedByUsedInInvestingActivities
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6754"
      unitRef="USD">-235000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6755"
      unitRef="USD">206000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsForRepurchaseOfCommonStock
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6756"
      unitRef="USD">6708000</us-gaap:PaymentsForRepurchaseOfCommonStock>
    <us-gaap:PaymentsOfDividends
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6757"
      unitRef="USD">1976000</us-gaap:PaymentsOfDividends>
    <us-gaap:PaymentsOfDividends
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6758"
      unitRef="USD">2018000</us-gaap:PaymentsOfDividends>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6759"
      unitRef="USD">-2182000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:NetCashProvidedByUsedInFinancingActivities
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6760"
      unitRef="USD">-8726000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6761"
      unitRef="USD">-274000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6762"
      unitRef="USD">827000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6763"
      unitRef="USD">1772000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6764"
      unitRef="USD">-797000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E25" decimals="-3" id="ixv-6765" unitRef="USD">85756000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents contextRef="E24" decimals="-3" id="ixv-6766" unitRef="USD">82976000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6767"
      unitRef="USD">87528000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents
      contextRef="E25Q2"
      decimals="-3"
      id="ixv-6768"
      unitRef="USD">82179000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
    <us-gaap:IncomeTaxesPaid
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6769"
      unitRef="USD">1660000</us-gaap:IncomeTaxesPaid>
    <us-gaap:IncomeTaxesPaid
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6770"
      unitRef="USD">2327000</us-gaap:IncomeTaxesPaid>
    <us-gaap:InterestPaidNet
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6771"
      unitRef="USD">0</us-gaap:InterestPaidNet>
    <us-gaap:InterestPaidNet
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6772"
      unitRef="USD">0</us-gaap:InterestPaidNet>
    <us-gaap:SharesOutstanding
      contextRef="E25_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6773"
      unitRef="Shares">3186000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6774"
      unitRef="USD">32000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6775"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6776"
      unitRef="USD">-9416000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6777"
      unitRef="USD">128652000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E25" decimals="-3" id="ixv-6778" unitRef="USD">119268000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6779"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6780"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6781"
      unitRef="USD">120000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6782"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6783"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q1"
      decimals="-3"
      id="ixv-6784"
      unitRef="USD">120000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6785"
      unitRef="Shares">-2000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6786"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6787"
      unitRef="USD">-120000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6788"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6789"
      unitRef="USD">-8000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q1"
      decimals="-3"
      id="ixv-6790"
      unitRef="USD">-128000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6791"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6792"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6793"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6794"
      unitRef="USD">-503000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6795"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q1"
      decimals="-3"
      id="ixv-6796"
      unitRef="USD">-503000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6797"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6798"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6799"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6800"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6801"
      unitRef="USD">987000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q1"
      decimals="-3"
      id="ixv-6802"
      unitRef="USD">987000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6803"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6804"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6805"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6806"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6807"
      unitRef="USD">2604000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q1"
      decimals="-3"
      id="ixv-6808"
      unitRef="USD">2604000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6809"
      unitRef="Shares">3184000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6810"
      unitRef="USD">32000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6811"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6812"
      unitRef="USD">-9919000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6813"
      unitRef="USD">130260000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q1"
      decimals="-3"
      id="ixv-6814"
      unitRef="USD">120373000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6815"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6816"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6817"
      unitRef="USD">72000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6818"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6819"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6820"
      unitRef="USD">72000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6821"
      unitRef="Shares">-1000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6822"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6823"
      unitRef="USD">-72000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6824"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6825"
      unitRef="USD">-5000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6826"
      unitRef="USD">-77000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6827"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6828"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6829"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6830"
      unitRef="USD">-34000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6831"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6832"
      unitRef="USD">-34000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6833"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6834"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6835"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6836"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6837"
      unitRef="USD">987000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6838"
      unitRef="USD">987000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6839"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6840"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6841"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6842"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6843"
      unitRef="USD">2686000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6844"
      unitRef="USD">2686000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6845"
      unitRef="Shares">3183000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6846"
      unitRef="USD">32000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6847"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6848"
      unitRef="USD">-9952000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6849"
      unitRef="USD">131954000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6850"
      unitRef="USD">122034000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:SharesOutstanding
      contextRef="E24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6851"
      unitRef="Shares">3335000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E24_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6852"
      unitRef="USD">36000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E24_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6853"
      unitRef="USD">593000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E24_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6854"
      unitRef="USD">-11908000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E24_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6855"
      unitRef="USD">129302000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest contextRef="E24" decimals="-3" id="ixv-6856" unitRef="USD">117427000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6857"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6858"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6859"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6860"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6861"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q1"
      decimals="-3"
      id="ixv-6862"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6863"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6864"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6865"
      unitRef="USD">82000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6866"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6867"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q1"
      decimals="-3"
      id="ixv-6868"
      unitRef="USD">82000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6869"
      unitRef="Shares">-54000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6870"
      unitRef="USD">-1000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6871"
      unitRef="USD">-82000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6872"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6873"
      unitRef="USD">-3138000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q1"
      decimals="-3"
      id="ixv-6874"
      unitRef="USD">-3221000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6875"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6876"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6877"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6878"
      unitRef="USD">718000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6879"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q1"
      decimals="-3"
      id="ixv-6880"
      unitRef="USD">718000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6881"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6882"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6883"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6884"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6885"
      unitRef="USD">1001000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q1"
      decimals="-3"
      id="ixv-6886"
      unitRef="USD">1001000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6887"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6888"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6889"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6890"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6891"
      unitRef="USD">3041000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q1"
      decimals="-3"
      id="ixv-6892"
      unitRef="USD">3041000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6893"
      unitRef="Shares">3281000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q1_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6894"
      unitRef="USD">33000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q1_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6895"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q1_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6896"
      unitRef="USD">-11190000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q1_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6897"
      unitRef="USD">128204000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q1"
      decimals="-3"
      id="ixv-6898"
      unitRef="USD">117047000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6899"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6900"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6901"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6902"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6903"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6904"
      unitRef="USD">0</fil:CommonStockReceivedAndRetiredUponExerciseOfStockOptions>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6905"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6906"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6907"
      unitRef="USD">86000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6908"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6909"
      unitRef="USD">0</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockOptionPlanExpense
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6910"
      unitRef="USD">86000</us-gaap:StockOptionPlanExpense>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodShares
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6911"
      unitRef="Shares">-65000</us-gaap:StockRepurchasedAndRetiredDuringPeriodShares>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6912"
      unitRef="USD">-1000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6913"
      unitRef="USD">-86000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6914"
      unitRef="USD">0</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6915"
      unitRef="USD">-3402000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:StockRepurchasedAndRetiredDuringPeriodValue
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6916"
      unitRef="USD">-3488000</us-gaap:StockRepurchasedAndRetiredDuringPeriodValue>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6917"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6918"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6919"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6920"
      unitRef="USD">1828000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6921"
      unitRef="USD">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6922"
      unitRef="USD">1828000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6923"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6924"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6925"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6926"
      unitRef="USD">0</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6927"
      unitRef="USD">988000</us-gaap:DividendsCommonStockCash>
    <us-gaap:DividendsCommonStockCash
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6928"
      unitRef="USD">988000</us-gaap:DividendsCommonStockCash>
    <us-gaap:ProfitLoss
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6929"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6930"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6931"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6932"
      unitRef="USD">0</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6933"
      unitRef="USD">3048000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6934"
      unitRef="USD">3048000</us-gaap:ProfitLoss>
    <us-gaap:SharesOutstanding
      contextRef="E25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6935"
      unitRef="Shares">3216000</us-gaap:SharesOutstanding>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q2_StEqComps-CommonStock"
      decimals="-3"
      id="ixv-6936"
      unitRef="USD">32000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q2_StEqComps-AddPaidInCap"
      decimals="-3"
      id="ixv-6937"
      unitRef="USD">0</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q2_StEqComps-ComprIncome"
      decimals="-3"
      id="ixv-6938"
      unitRef="USD">-9362000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q2_StEqComps-RetainedEarnings"
      decimals="-3"
      id="ixv-6939"
      unitRef="USD">128862000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest
      contextRef="E25Q2"
      decimals="-3"
      id="ixv-6940"
      unitRef="USD">117533000</us-gaap:StockholdersEquityIncludingPortionAttributableToNoncontrollingInterest>
    <us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock contextRef="D260101_260630" id="ixv-3465">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt"&gt;(1)&lt;/kbd&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&gt;The unaudited financial statements have been prepared in accordance with the instructions to Form 10-Q and do not include all of the information and note disclosures required by accounting principles generally accepted in the United States. &#160;These statements should be read in conjunction with the financial statements and notes included in the Utah Medical Products, Inc. ("UTMD" or "the Company") annual report on Form 10-K for the year ended December 31, 2025. &#160;In the opinion of management, the accompanying financial statements include all adjustments (consisting only of normal recurring adjustments) necessary to summarize fairly the Company's financial position and results of operations. &#160;Currency amounts are in thousands except per-share amounts and where noted.&#160;&lt;/p&gt;
</us-gaap:OrganizationConsolidationAndPresentationOfFinancialStatementsDisclosureTextBlock>
    <us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="D260101_260630" id="ixv-3470">&lt;p style="font:10pt Times New Roman;margin:0"&gt;(2) Recent Accounting Standards. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;In November 2024, the FASB issued ASU 2024-03, &lt;i&gt;Income Statement-Reporting Comprehensive Income-Expense Disaggregation Disclosures (Subtopic 220-40): Disaggregation of Income Statement Expenses&lt;/i&gt;, requiring public entities to disclose additional information about specific expense categories in the notes to the financial statements on an interim and annual basis. &#160;ASU 2024-03 is effective for fiscal years beginning after December 15, 2026, and for interim periods beginning after December 15, 2027, with early adoption permitted. &#160;The Company is currently evaluating the impact of adopting ASU 2024-03.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;In September 2025, the FASB issued ASU 2025-06, &#x201c;Intangibles - Goodwill and Other - Internal-Use Software (Subtopic 350-40): Targeted Improvements to the Accounting for Internal-Use Software&#x201d;. This ASU clarifies and modernizes the accounting for costs related to internal-use software by removing references to prescriptive and sequential software development states and clarifies the threshold entities apply to begin capitalizing costs. Additionally, this ASU specifies that the disclosures in Subtopic 360-10, Property, Plant and Equipment - Overall, are required for all capitalized internal-use software costs, regardless of how those costs are presented in the financial statements. This ASU is effective for fiscal years beginning after December 15, 2027, with early adoption permitted. The Company is evaluating the impact of adopting ASU 2025-06.&lt;/p&gt;
</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
    <us-gaap:InventoryDisclosureTextBlock contextRef="D260101_260630" id="ixv-3478">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt"&gt;(3)&lt;/kbd&gt;&lt;kbd style="margin-left:19.8pt"&gt;&lt;/kbd&gt;Inventories at June 30, 2026 and December 31, 2025 consisted of the following:&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:469.3pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:225pt" valign="bottom"&gt;&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:95.15pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;June 30,&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:112.45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:225pt" valign="bottom"&gt;&lt;/td&gt;&lt;td style="width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:95.15pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;2026&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:112.45pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2025&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#CCEEFF;width:225pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished goods&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:15.85pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;$ &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:79.3pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;1,898&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:15.85pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;$ &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:96.6pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;1,223&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:225pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Work-in-process&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:95.15pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;1,604&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:112.45pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;1,627&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#CCEEFF;width:225pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Raw materials&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:95.15pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;5,501&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:112.45pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;5,085&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:225pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;$ &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:79.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;9,003&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;$ &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:96.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;7,935&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:InventoryDisclosureTextBlock>
    <us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="D260101_260630" id="ixv-3482">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:469.3pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td style="width:225pt" valign="bottom"&gt;&lt;p style="font:12pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:95.15pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;June 30,&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:112.45pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;December 31,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:225pt" valign="bottom"&gt;&lt;/td&gt;&lt;td style="width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:95.15pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;2026&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:112.45pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;2025&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#CCEEFF;width:225pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Finished goods&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:15.85pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;$ &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:79.3pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;1,898&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:15.85pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;$ &lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:96.6pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;1,223&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:225pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Work-in-process&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:95.15pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;1,604&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="width:112.45pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;1,627&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#CCEEFF;width:225pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Raw materials&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:95.15pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;5,501&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="2" style="background-color:#CCEEFF;width:112.45pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;5,085&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="width:225pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:12.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.95pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;$ &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:79.3pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;9,003&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:15.85pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;$ &lt;/p&gt;
&lt;/td&gt;&lt;td style="width:96.6pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="bottom"&gt;&lt;p style="font:10pt Times New Roman;margin:0;color:#000000;text-align:right"&gt;7,935&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
    <us-gaap:InventoryFinishedGoodsNetOfReserves
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6941"
      unitRef="USD">1898000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="E25" decimals="-3" id="ixv-6942" unitRef="USD">1223000</us-gaap:InventoryFinishedGoodsNetOfReserves>
    <us-gaap:InventoryWorkInProcess
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6943"
      unitRef="USD">1604000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryWorkInProcess contextRef="E25" decimals="-3" id="ixv-6944" unitRef="USD">1627000</us-gaap:InventoryWorkInProcess>
    <us-gaap:InventoryRawMaterials
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6945"
      unitRef="USD">5501000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryRawMaterials contextRef="E25" decimals="-3" id="ixv-6946" unitRef="USD">5085000</us-gaap:InventoryRawMaterials>
    <us-gaap:InventoryNet
      contextRef="E26Q2"
      decimals="-3"
      id="ixv-6947"
      unitRef="USD">9003000</us-gaap:InventoryNet>
    <us-gaap:InventoryNet contextRef="E25" decimals="-3" id="ixv-6948" unitRef="USD">7935000</us-gaap:InventoryNet>
    <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock contextRef="D260101_260630" id="ixv-3575">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt"&gt;(4)&lt;/kbd&gt;&lt;kbd style="margin-left:18pt"&gt;&lt;/kbd&gt;Stock-Based Compensation. At June 30, 2026, the Company has stock-based employee compensation plans which authorize the grant of stock options to eligible employees and directors. &#160;The Company accounts for stock compensation under FASB Accounting Standards Codification (&#x201c;ASC&#x201d;) 718, &lt;i&gt;Compensation - Stock Compensation&lt;/i&gt;. This statement requires the Company to recognize compensation cost based on the grant date fair value of options granted to employees and directors. &#160;In the six months ended June 30, 2026 and June 30, 2025, the Company recognized $192 and $168, respectively, in stock-based compensation cost.&#160;&lt;/p&gt;
</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
    <fil:StockBasedCompensationCost
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6951"
      unitRef="USD">192000</fil:StockBasedCompensationCost>
    <fil:StockBasedCompensationCost
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6952"
      unitRef="USD">168000</fil:StockBasedCompensationCost>
    <us-gaap:ProductWarrantyDisclosureTextBlock contextRef="D260101_260630" id="ixv-3581">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt"&gt;(5) &lt;/kbd&gt;&lt;kbd style="margin-left:18pt"&gt;&lt;/kbd&gt;Warranty Reserve. &#160;The Company&#x2019;s published warranty is: &#x201c;UTMD warrants its products to conform in all material respects to all published product specifications in effect on the date of shipment, and to be free from defects in material and workmanship for a period of thirty (30) days for supplies, or twenty-four (24) months for equipment, from date of shipment. &#160;During the warranty period UTMD shall, at its option, replace any products shown to UTMD's reasonable satisfaction to be defective at no expense to the Purchaser or refund the purchase price.&#x201d; &#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;UTMD maintains a warranty reserve to provide for estimated costs which are likely to occur. The amount of this reserve is adjusted, as required, to reflect its actual experience. Based on its analysis of historical warranty claims and its estimate that existing warranty obligations were immaterial, no warranty reserve was made at December 31, 2025 or June 30, 2026. &lt;/p&gt;
</us-gaap:ProductWarrantyDisclosureTextBlock>
    <us-gaap:RevenueRecognitionPolicyTextBlock contextRef="D260101_260630" id="ixv-3593">&lt;p style="font:10pt Times New Roman;margin:0"&gt;(6) 2Q 2026 global revenues (USD) by product category:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;border-bottom:0.5pt solid #000000"&gt;&lt;tr&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Domestic&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Outside US&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:54pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Obstetrics&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;863&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:62.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;203&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:54pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,066&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gynecology/Electrosurgery/Urology&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,061&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,219&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:54pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,280&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Neonatal&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,377&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:62.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;542&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:54pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,919&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Blood Pressure Monitoring and Accessories&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;865&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;399&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:54pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,264&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-19.8pt;margin-left:19.8pt"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,166&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:62.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,363&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:54pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,529&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Global 1H 2026 revenues (USD) by product category:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;border-bottom:0.5pt solid #000000"&gt;&lt;tr style="height:13.95pt"&gt;&lt;td style="width:183.7pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:55.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Domestic&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:61.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Outside US&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.05pt"&gt;&lt;td style="background-color:#CCEEFF;width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Obstetrics&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:55.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,617&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:61.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;355&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,972&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.05pt"&gt;&lt;td style="width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gynecology/Electrosurgery/Urology&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:55.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,755&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:61.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,753&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,508&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;&lt;td style="background-color:#CCEEFF;width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Neonatal&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:55.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,715&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:61.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;774&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,489&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.05pt"&gt;&lt;td style="width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Blood Pressure Monitoring and Accessories&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:55.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,640&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:61.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;643&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,283&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;&lt;td style="background-color:#CCEEFF;width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:55.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,727&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:61.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,525&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;17,252&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:RevenueRecognitionPolicyTextBlock>
    <fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock contextRef="D260101_260630" id="ixv-3595">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;border-bottom:0.5pt solid #000000"&gt;&lt;tr&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Domestic&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Outside US&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:54pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Obstetrics&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;863&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:62.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;203&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:54pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,066&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gynecology/Electrosurgery/Urology&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,061&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,219&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:54pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,280&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Neonatal&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,377&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:62.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;542&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:54pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,919&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Blood Pressure Monitoring and Accessories&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;865&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:62.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;399&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:54pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,264&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style="background-color:#CCEEFF;width:180pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-indent:-19.8pt;margin-left:19.8pt"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.05pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,166&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:18.75pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:62.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,363&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.65pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:54pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;8,529&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;Global 1H 2026 revenues (USD) by product category:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;border-bottom:0.5pt solid #000000"&gt;&lt;tr style="height:13.95pt"&gt;&lt;td style="width:183.7pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:55.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Domestic&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:61.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Outside US&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.05pt"&gt;&lt;td style="background-color:#CCEEFF;width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Obstetrics&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:55.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,617&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:61.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;355&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,972&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.05pt"&gt;&lt;td style="width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gynecology/Electrosurgery/Urology&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:55.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,755&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:61.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;4,753&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;9,508&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;&lt;td style="background-color:#CCEEFF;width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Neonatal&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:55.1pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,715&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:61.6pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;774&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.45pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,489&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.05pt"&gt;&lt;td style="width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Blood Pressure Monitoring and Accessories&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:55.1pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1,640&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:61.6pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;643&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:58.45pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,283&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:13.95pt"&gt;&lt;td style="background-color:#CCEEFF;width:183.7pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Total&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:23.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:8.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:55.1pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;10,727&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:16.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:61.6pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,525&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:19.4pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:9pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;$&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#CCEEFF;width:58.45pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;17,252&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</fil:ScheduleofglobalrevenuesbyproductcategoryTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-Obstetrics_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6954"
      unitRef="USD">863000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-Obstetrics_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6955"
      unitRef="USD">203000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-Obstetrics"
      decimals="-3"
      id="ixv-6956"
      unitRef="USD">1066000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6957"
      unitRef="USD">2061000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6958"
      unitRef="USD">2219000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-GynecologyElectrosurgeryUrology"
      decimals="-3"
      id="ixv-6959"
      unitRef="USD">4280000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-Neonatal_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6960"
      unitRef="USD">1377000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-Neonatal_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6961"
      unitRef="USD">542000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-Neonatal"
      decimals="-3"
      id="ixv-6962"
      unitRef="USD">1919000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6963"
      unitRef="USD">865000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6964"
      unitRef="USD">399000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_ProductOrService-BloodPressureMonitoringAndAccessories"
      decimals="-3"
      id="ixv-6965"
      unitRef="USD">1264000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6966"
      unitRef="USD">5166000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6967"
      unitRef="USD">3363000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6968"
      unitRef="USD">8529000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-Obstetrics_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6969"
      unitRef="USD">1617000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-Obstetrics_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6970"
      unitRef="USD">355000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-Obstetrics"
      decimals="-3"
      id="ixv-6971"
      unitRef="USD">1972000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6972"
      unitRef="USD">4755000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-GynecologyElectrosurgeryUrology_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6973"
      unitRef="USD">4753000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-GynecologyElectrosurgeryUrology"
      decimals="-3"
      id="ixv-6974"
      unitRef="USD">9508000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-Neonatal_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6975"
      unitRef="USD">2715000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-Neonatal_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6976"
      unitRef="USD">774000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-Neonatal"
      decimals="-3"
      id="ixv-6977"
      unitRef="USD">3489000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6978"
      unitRef="USD">1640000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-BloodPressureMonitoringAndAccessories_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6979"
      unitRef="USD">643000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_ProductOrService-BloodPressureMonitoringAndAccessories"
      decimals="-3"
      id="ixv-6980"
      unitRef="USD">2283000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_StGeo-DomesticUs"
      decimals="-3"
      id="ixv-6981"
      unitRef="USD">10727000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_StGeo-OutsideUs"
      decimals="-3"
      id="ixv-6982"
      unitRef="USD">6525000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6983"
      unitRef="USD">17252000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:EarningsPerShareTextBlock contextRef="D260101_260630" id="ixv-3863">&lt;p style="font:10pt Times New Roman;margin:0"&gt;7) Earnings Per Share. Basic earnings per share were calculated by dividing net income attributable to the common stockholders of the company by the weighted average number of common shares outstanding during each applicable period. &#160;Diluted earnings per share were calculated by assuming the exercise of stock options at the closing price of stock at the end of 2Q 2026 and 2025, as applicable. &lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The following table reconciles the numerator and the denominator used to calculate basic and diluted earnings per share:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:5.4pt;border:0.5pt solid #000000"&gt;&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;i&gt;(in thousands)&lt;/i&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:139.5pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Three months ended&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:141.55pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Six months ended&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:139.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;June 30,&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:141.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;June 30,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2026&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2025&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2026&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2025&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Numerator&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:11.2pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,686&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,048&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,290&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,089&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Denominator&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted average shares, basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,246&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,278&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Dilutive effect of stock options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Diluted shares&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,246&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,278&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-top:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-top:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt;border-top:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt;border-top:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings per share, basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.84&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.94&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.66&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.86&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings per share, diluted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.84&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.94&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.66&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.86&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:EarningsPerShareTextBlock>
    <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock contextRef="D260101_260630" id="ixv-3867">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;margin-left:5.4pt;border:0.5pt solid #000000"&gt;&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;i&gt;(in thousands)&lt;/i&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:139.5pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Three months ended&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:141.55pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;Six months ended&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:139.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;June 30,&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:141.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;June 30,&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2026&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2025&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2026&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2025&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Numerator&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:11.2pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;2,686&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,048&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;5,290&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;6,089&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;b&gt;Denominator&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Weighted average shares, basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,246&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,278&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Dilutive effect of stock options&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;-&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Diluted shares&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,246&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,184&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt;border-top:0.5pt solid #000000;border-bottom:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;3,278&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-top:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-top:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt;border-top:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt;border-top:3px double #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="background-color:#D3F0FE;width:133.85pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings per share, basic&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.84&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:63pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.94&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.55pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.66&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:13.5pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:67.5pt" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.86&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:12.5pt"&gt;&lt;td style="width:133.85pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Earnings per share, diluted&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.84&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:63pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;0.94&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.55pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.66&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:13.5pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:67.5pt;border-bottom:0.5pt solid #000000" valign="middle"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:right"&gt;1.86&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
    <us-gaap:ProfitLoss
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6986"
      unitRef="USD">2686000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6987"
      unitRef="USD">3048000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6988"
      unitRef="USD">5290000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6989"
      unitRef="USD">6089000</us-gaap:ProfitLoss>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6990"
      unitRef="Shares">3184000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6991"
      unitRef="Shares">3246000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6992"
      unitRef="Shares">3184000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6993"
      unitRef="Shares">3278000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6994"
      unitRef="Shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6995"
      unitRef="Shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-6996"
      unitRef="Shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-6997"
      unitRef="Shares">0</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y26Q2"
      decimals="-3"
      id="ixv-6998"
      unitRef="Shares">3184000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="Y25Q2"
      decimals="-3"
      id="ixv-6999"
      unitRef="Shares">3246000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="D260101_260630"
      decimals="-3"
      id="ixv-7000"
      unitRef="Shares">3184000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding
      contextRef="D250101_250630"
      decimals="-3"
      id="ixv-7001"
      unitRef="Shares">3278000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y26Q2"
      decimals="INF"
      id="ixv-7002"
      unitRef="UsdPerShare">0.84</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="Y25Q2"
      decimals="INF"
      id="ixv-7003"
      unitRef="UsdPerShare">0.94</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="D260101_260630"
      decimals="INF"
      id="ixv-7004"
      unitRef="UsdPerShare">1.66</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareBasic
      contextRef="D250101_250630"
      decimals="INF"
      id="ixv-7005"
      unitRef="UsdPerShare">1.86</us-gaap:EarningsPerShareBasic>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y26Q2"
      decimals="INF"
      id="ixv-7006"
      unitRef="UsdPerShare">0.84</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="Y25Q2"
      decimals="INF"
      id="ixv-7007"
      unitRef="UsdPerShare">0.94</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="D260101_260630"
      decimals="INF"
      id="ixv-7008"
      unitRef="UsdPerShare">1.66</us-gaap:EarningsPerShareDiluted>
    <us-gaap:EarningsPerShareDiluted
      contextRef="D250101_250630"
      decimals="INF"
      id="ixv-7009"
      unitRef="UsdPerShare">1.86</us-gaap:EarningsPerShareDiluted>
    <us-gaap:SegmentReportingDisclosureTextBlock contextRef="D260101_260630" id="ixv-4082">&lt;p style="font:10pt Times New Roman;margin:0"&gt;8) Segment Information. &#160;The Company operates as one operating segment. &#160;The Company&#x2019;s chief operating decision maker (&#x201c;CODM&#x201d;) is its chief executive officer, who reviews financial information presented on a consolidated basis. &#160;The CODM uses consolidated gross profit margin, operating margin, and net income to assess financial performance and allocate resources. &#160;These financial metrics are used by the CODM to make key operating decisions such as the allocation of budget between cost of sales, sales and marketing, research and development, and general and administrative expenses.&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;The following table presents selected financial information with respect to the Company&#x2019;s single operating segment for the quarters ended June 30, 2026 and June 30, 2025:&lt;/p&gt;
&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:288.9pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:129.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;b&gt;Quarter Ended June 30,&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;/td&gt;&lt;td style="width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;b&gt;2026&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;b&gt;2025&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Revenues&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;8,529&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;9,953&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Less:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Standard cost of sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;3,175&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;3,763&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other cost of sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;596&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;595&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;4,758&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;5,595&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit Margin&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;55.8%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;56.2%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Sales &amp;amp; Marketing&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;526&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;525&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Research &amp;amp; Development&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;154&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;135&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Litigation Fees&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;498&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;284&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;16&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;540&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other General &amp;amp; Administrative&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;915&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;915&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;2,649&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;3,196&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating Income Margin&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;31.1%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;32.1%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Interest income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;635&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;679&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other income (expense)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;(40)&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Income before income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;3,286&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;3,835&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Provision for income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;600&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;787&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;2,686&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;3,048&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:SegmentReportingDisclosureTextBlock>
    <us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock contextRef="D260101_260630" id="ixv-4093">&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;table style="border-collapse:collapse;width:288.9pt"&gt;&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td colspan="3" style="width:129.35pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;b&gt;Quarter Ended June 30,&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;/td&gt;&lt;td style="width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;b&gt;2026&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0;text-align:center"&gt;&lt;b&gt;2025&lt;/b&gt;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Revenues&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;8,529&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;9,953&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Less:&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Standard cost of sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;3,175&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;3,763&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other cost of sales&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;596&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;595&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;4,758&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;5,595&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Gross Profit Margin&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;55.8%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;56.2%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Sales &amp;amp; Marketing&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;526&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;525&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Research &amp;amp; Development&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;154&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;135&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Litigation Fees&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;498&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;284&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Amortization&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;16&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;540&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other General &amp;amp; Administrative&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;915&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;915&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;2,649&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;3,196&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Operating Income Margin&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;31.1%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;32.1%&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Interest income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;635&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;679&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Other income (expense)&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt; &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;2&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;(40)&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Income before income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;3,286&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;3,835&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Provision for income taxes&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:60.3pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;600&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="width:57.25pt;border-bottom:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;787&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style="height:7.2pt"&gt;&lt;td style="background-color:#D3F0FE" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;Net Income&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:60.3pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:42pt"&gt;2,686&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:11.8pt" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;td style="background-color:#D3F0FE;width:57.25pt;border-top:0.5pt solid #000000" valign="top"&gt;&lt;p style="font:10pt Times New Roman;margin:0"&gt;&lt;kbd style="position:absolute;text-align:right;font:10pt Times New Roman;width:43pt"&gt;3,048&#160;&#160;&lt;/kbd&gt;&#160;&lt;/p&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;
</us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7012"
      unitRef="USD">8529000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7013"
      unitRef="USD">9953000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
    <fil:StandardCostOfSales
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7014"
      unitRef="USD">3175000</fil:StandardCostOfSales>
    <fil:StandardCostOfSales
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7015"
      unitRef="USD">3763000</fil:StandardCostOfSales>
    <fil:OtherCostOfSales
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7016"
      unitRef="USD">596000</fil:OtherCostOfSales>
    <fil:OtherCostOfSales
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7017"
      unitRef="USD">595000</fil:OtherCostOfSales>
    <us-gaap:GrossProfit
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7018"
      unitRef="USD">4758000</us-gaap:GrossProfit>
    <us-gaap:GrossProfit
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7019"
      unitRef="USD">5595000</us-gaap:GrossProfit>
    <fil:GrossProfitMargin
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-7020"
      unitRef="Pure">0.558</fil:GrossProfitMargin>
    <fil:GrossProfitMargin
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-7021"
      unitRef="Pure">0.562</fil:GrossProfitMargin>
    <us-gaap:SellingAndMarketingExpense
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7022"
      unitRef="USD">526000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:SellingAndMarketingExpense
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7023"
      unitRef="USD">525000</us-gaap:SellingAndMarketingExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7024"
      unitRef="USD">154000</us-gaap:ResearchAndDevelopmentExpense>
    <us-gaap:ResearchAndDevelopmentExpense
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7025"
      unitRef="USD">135000</us-gaap:ResearchAndDevelopmentExpense>
    <fil:LitigationExpense
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7026"
      unitRef="USD">498000</fil:LitigationExpense>
    <fil:LitigationExpense
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7027"
      unitRef="USD">284000</fil:LitigationExpense>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7028"
      unitRef="USD">16000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:AmortizationOfIntangibleAssets
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7029"
      unitRef="USD">540000</us-gaap:AmortizationOfIntangibleAssets>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7030"
      unitRef="USD">915000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:OtherSellingGeneralAndAdministrativeExpense
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7031"
      unitRef="USD">915000</us-gaap:OtherSellingGeneralAndAdministrativeExpense>
    <us-gaap:OperatingIncomeLoss
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7032"
      unitRef="USD">2649000</us-gaap:OperatingIncomeLoss>
    <us-gaap:OperatingIncomeLoss
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7033"
      unitRef="USD">3196000</us-gaap:OperatingIncomeLoss>
    <fil:OperatingIncomeMargin
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-7034"
      unitRef="Pure">0.311</fil:OperatingIncomeMargin>
    <fil:OperatingIncomeMargin
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="INF"
      id="ixv-7035"
      unitRef="Pure">0.321</fil:OperatingIncomeMargin>
    <us-gaap:OtherInterestAndDividendIncome
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7036"
      unitRef="USD">635000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherInterestAndDividendIncome
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7037"
      unitRef="USD">679000</us-gaap:OtherInterestAndDividendIncome>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7038"
      unitRef="USD">2000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:OtherOperatingIncomeExpenseNet
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7039"
      unitRef="USD">-40000</us-gaap:OtherOperatingIncomeExpenseNet>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7040"
      unitRef="USD">3286000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7041"
      unitRef="USD">3835000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7042"
      unitRef="USD">600000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:IncomeTaxExpenseBenefit
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7043"
      unitRef="USD">787000</us-gaap:IncomeTaxExpenseBenefit>
    <us-gaap:ProfitLoss
      contextRef="D260101_260630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7044"
      unitRef="USD">2686000</us-gaap:ProfitLoss>
    <us-gaap:ProfitLoss
      contextRef="D250101_250630_StScenario-SingleOperatingSeg"
      decimals="-3"
      id="ixv-7045"
      unitRef="USD">3048000</us-gaap:ProfitLoss>
    <us-gaap:SubsequentEventsTextBlock contextRef="D260101_260630" id="ixv-4317">&lt;p style="font:10pt Times New Roman;margin:0;color:#000000"&gt;&lt;kbd style="position:absolute;font:10pt Times New Roman;margin-left:0pt"&gt;(9)&lt;/kbd&gt;&lt;kbd style="margin-left:18pt"&gt;&lt;/kbd&gt; Subsequent Events.&lt;b&gt; &#160;&lt;/b&gt;UTMD has evaluated subsequent events through the date the financial statements were issued, and concluded there were no other events or transactions during this period that required recognition or disclosure in its June 30, 2026 financial statements. &#160;&lt;/p&gt;
</us-gaap:SubsequentEventsTextBlock>
</xbrl>
